| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 715 人关注过本帖
标题:一个关于调用函数有返回值 的问题
只看楼主 加入收藏
crystal111
Rank: 2
等 级:论坛游民
帖 子:25
专家分:21
注 册:2009-11-15
结帖率:62.5%
收藏
已结贴  问题点数:20 回复次数:2 
一个关于调用函数有返回值 的问题
在一个调用函数中判断一个数是否为素数,如果为素数,返回值为1,如果不是素数,返回值为0;
现在有如下两个调用函数
这个是对的:
int fun(int m)
{ int i,flag=0;
for(i=2;i<m;i++)
if(m%i==0)flag=1;
return(flag);}
这个是错的:
int fun(int m)
{ int i,flag;
for(i=2;i<m;i++)
if(m%i==0)flag=1;
else flag=0;
return(flag);}
搜索更多相关主题的帖子: 函数 返回值 
2009-12-31 23:38
harveswon
Rank: 1
等 级:新手上路
帖 子:1
专家分:7
注 册:2010-1-1
收藏
得分:7 
int fun(int m)
{
    int i,flag;

    for(i=2;i<m;i++){
        if(m%i==0){
            flag=1;
        }else {
            flag=0;
        }
    }
    return(flag);
}
此乃逻辑错误 您判断的仅仅是m % m-1 == 0 跟素数没有关系
代码规范化,有助于发现问题
2010-01-01 10:20
角落里的娃娃
Rank: 2
等 级:论坛游民
帖 子:4
专家分:10
注 册:2010-1-1
收藏
得分:7 
int fun(int m)
{
    int i,flag = 0 ;

    for(i=2;i<m;i++)
        if(m%i==0)
       {
            flag=1;
            break ;
        }
    return(flag);
}
程序中的循环语句有点问题,找到一个能被整除的数就可以跳出循环了,如果在找下去flag会被赋值为0 ,找到之后跳出循环。


int fun(int m)
{
    int i,flag;

    for(i=2;i<m;i++)
   {
        if(m%i==0){
            flag=1;
        }else {
            flag=0;
        }
    }
    break;
    return(flag);
}

楼上的也要加个break;吧
2010-01-01 12:15
快速回复:一个关于调用函数有返回值 的问题
数据加载中...
 
   



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

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