| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 462 人关注过本帖
标题:求问下面两个程序的区别?
只看楼主 加入收藏
rucyang
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2013-10-4
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
求问下面两个程序的区别?
# include <stdio.h>
void main ( )
{
    int i,m,s;
    for(m=2;m<1000;m++)
    {
        s=0;
        for(i=1;i<m;i++)
          if((m%i)==0) s=s+i;
        if(s==m)
         {
            printf("%d , its factors are",m);
             for(i=1;i<m;i++)
                if(m%i==0)
                  printf("%d  ",i);
                  
                printf("\n");
        }
        
                  
               
                  
    }
}

# include <stdio.h>
void main ( )
{
    int i,m,s;
    s=0;
    for(m=2;m<1000;m++)
    {
        
        for(i=1;i<m;i++)
          if((m%i)==0) s=s+i;
        if(s==m)
         {
            printf("%d , its factors are",m);
             for(i=1;i<m;i++)
                if(m%i==0)
                  printf("%d  ",i);
                  
                printf("\n");
        }
        
                  
               
                  
    }
}
   
   
   
   
        

                  



   
        
   
        


   

      




   
搜索更多相关主题的帖子: factors include 
2013-10-04 18:06
dyh839911010
Rank: 2
来 自:武汉
等 级:论坛游民
帖 子:63
专家分:71
注 册:2011-9-14
收藏
得分:7 
第二个能输出正确结果,第一个对s初始化在for循环里面,所以每次循环开始s都为0,而第二个s为全局变量,仅在第一次赋值时有效。

把简单做到纯粹,自然有生活的成就。
游戏开发吧诚邀各位的驻足!
2013-10-04 18:24
rucyang
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2013-10-4
收藏
得分:0 
回复 2楼 dyh839911010
也就是说第二个里面的s,在第二次循环或后面的循环里面初始值不一定为零,是不?
2013-10-04 18:40
dyh839911010
Rank: 2
来 自:武汉
等 级:论坛游民
帖 子:63
专家分:71
注 册:2011-9-14
收藏
得分:0 
以下是引用rucyang在2013-10-4 18:40:13的发言:

也就是说第二个里面的s,在第二次循环或后面的循环里面初始值不一定为零,是不?

第二个的s就是赋了初值,之后就在循环中改变值了。

把简单做到纯粹,自然有生活的成就。
游戏开发吧诚邀各位的驻足!
2013-10-04 18:57
303770957
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:838
专家分:2125
注 册:2005-9-10
收藏
得分:7 
楼上正解

♂ 死后定当长眠,生前何须久睡。♀
2013-10-04 23:41
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:7 
以下是引用rucyang在2013-10-4 18:40:13的发言:

也就是说第二个里面的s,在第二次循环或后面的循环里面初始值不一定为零,是不?
是啊
2013-10-04 23:56
快速回复:求问下面两个程序的区别?
数据加载中...
 
   



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

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