标题:[讨论] 请Workhard帮忙看这个程序(goto问题)
只看楼主
lmr
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2004-12-9
得分:0 
Thank you!看来我有时真的很粗心,不过谢谢各位的帮助,使的我慢慢地养成了好的习惯了,再次谢谢workhard。希望共同进步,哈!
2005-01-06 16:24
skyhu00
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-1-6
得分:0 

此程序有一个错误:删掉getch( )或改为putchar(定义参数) 本人编了一个用goto实现此程序的功能: #include<stdio.h> void main() { int n,i; loop: printf("please input a number:"); scanf("%d",&n); if (n<=2) { printf("This is number is fault,Please input another number:"); scanf("%d",&n); } for(i=2; i<n;i++) if (n%i==0) break; if(i<n) printf("%d not sushu \n",n); else printf("%d is sushu \n",n); goto loop; }

两种都能实现此功能,不过还是用while循环语句更好. ok!!! 浅谈谈本人的想法.

2005-01-06 16:38
rountye
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2004-12-24
得分:0 
应该忘记c中的goto,小程序你用倒是看不齣來什么不好,一旦做稍微大点的项目时,如果还是使用goto(多于2个)的话,很明显的会让阅读者困惑的,嘻嘻

天自潇洒随己意,人又何故负今生!
2005-01-06 16:58
xiehongyou
Rank: 1
等 级:新手上路
帖 子:84
专家分:0
注 册:2004-8-29
得分:0 

#include<stdio.h> void main() { int n,i; printf("please input a number:");

t scanf("%d",&n); if(n<=2) {printf("This is number is fault,Please input another number:"); goto to; } for(i=2; i<n;i++) if (n%i==0) break; if(i<n) printf("%d not sushu \n",n); else printf("%d is sushu \n",n); getch(); }

这一个用了GOTO。看看;

2005-01-06 17:16
amzyb
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2005-1-10
得分:0 
等for循环做完而没有运行break 语句时,此时i已经等于n了。

然后判断,如果i==n就是素数
2005-01-11 16:54



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-10665-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.056316 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved