| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1147 人关注过本帖
标题:这是一个判断素数程序,我不明白的是第二个return为什么不用else,并且一加 ...
只看楼主 加入收藏
JerryChen
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2006-8-14
收藏
 问题点数:0 回复次数:4 
这是一个判断素数程序,我不明白的是第二个return为什么不用else,并且一加9,15,..

/*判断素数*/
#include<stdio.h>
#include<ctype.h>
#define N 35
main()
{int i=0,k;
int a[N];
printf("\nPlease input some number:\n");
for(i=0;i<N;i++)
{scanf("%d",&a[i]);
k=issushu(a[i]);
if(k)
printf("%d is sushu ** ",a[i]);
else
printf("%d isn't sushu ** ",a[i]);
}
}
issushu(int m)
{int j;
for(j=2;j<m;++j)
if(m%j==0)
return 0;
/*else*/
return 1; /*千万别加 else */
}

这是一个判断素数程序,我不明白的是第二个return为什么不用else,并且一加9,15,..就都被判断为素数?在for下加不加{}都一样。

搜索更多相关主题的帖子: 素数 else return 判断 
2006-08-14 21:04
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 

打个比方:您要检验一本书里面是否有破页:
当您找到破页时,您就可以证明它有破页,从而停止继续翻下去,而当您没找到,那就得继续翻下去,直到整本书都让您给翻完,而不是看到一页是好的,马上就说这本书是完好的,直到您翻完,您才最后说:"哦,这本书质量还行!"


对不礼貌的女生收钱......
2006-08-14 21:42
JerryChen
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2006-8-14
收藏
得分:0 
谢谢啊,比喻还真恰当。
2006-08-14 22:01
jinwenbobull
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-10-28
收藏
得分:0 

经典!!!!!!!!


个人主义者
2006-12-30 16:00
zhanghuan_10
Rank: 1
等 级:新手上路
威 望:2
帖 子:751
专家分:0
注 册:2006-10-25
收藏
得分:0 
呵呵,为什么要加呢?那个if语句是for循环语句的循环体里的,而那个return 1;是在for循环之外的,他们之间没有什么联系啊,看到了那个例子了吧,呵呵,非常的恰当嘛!
if(m%j==0)
return 0 ;
return 1;
就是相当这几个语句,体会好了,就知道是怎么回事了。

该学习了。。。
2006-12-30 17:36
快速回复:这是一个判断素数程序,我不明白的是第二个return为什么不用else,并且 ...
数据加载中...
 
   



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

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