| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 702 人关注过本帖
标题:[求助]C语言基础 Static问题
只看楼主 加入收藏
三断笛
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:31
帖 子:1621
专家分:1617
注 册:2007-5-24
结帖率:37.5%
收藏
 问题点数:0 回复次数:9 
[求助]C语言基础 Static问题
朋友问我求1~1000的完数的题目,我给他的代码如下:
#include "stdio.h"
    int    ws(int i){
            int k,sum=0,j=0;
            int a[100];
            for(k=1;k<=i/2;k++)
                if(i%k==0) {
                    sum+=k;
                    a[j]=k;
                    j++;
                }
            if(sum==i) {
                for(k=0;k<j-1;k++) printf("%d+",a[k]);
                printf("%d",a[k]);
                return 1;
            }
            return 0;
    }
void main()
{
  int i;
  for(i=6;i<=1000;i++)
      if(ws(i)==1) printf("=%d\n",i);
}
问题在ws函数里,a[]是记录每一个完素的所有因子,1000以前最大完数496,总共有9个因子,按道理说定义a[10]就够用了,可为什么定义a[10]就是会出错?而把int a[10]改成static int a[10]又正确,为什么?
static 无非是保持a[10]在内存不释放,而且在编译时给赋初值,一定要这样吗?

[[it] 本帖最后由 三断笛 于 2008-6-1 15:29 编辑 [/it]]
搜索更多相关主题的帖子: C语言 Static 基础 
2008-06-01 15:27
Loli
Rank: 1
来 自:飞燕算法群46520219
等 级:新手上路
帖 子:348
专家分:0
注 册:2008-5-27
收藏
得分:0 
请问180的约数有多少个??


[color=white]
2008-06-01 15:33
三断笛
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:31
帖 子:1621
专家分:1617
注 册:2007-5-24
收藏
得分:0 
180的约数有16个
那为什么把int a[100]改成 static int a[10]运行正确呢?
2008-06-01 15:41
Loli
Rank: 1
来 自:飞燕算法群46520219
等 级:新手上路
帖 子:348
专家分:0
注 册:2008-5-27
收藏
得分:0 
不是18个吗??
那个并不是运行正确,是还没有改写掉关键数据,你才没死掉


[color=white]
2008-06-01 15:43
三断笛
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:31
帖 子:1621
专家分:1617
注 册:2007-5-24
收藏
得分:0 
不是16个也不是18个 是17个唉
是不是定义static int a[10]在运算ws(180)虽然出现了错误,但没导致程序出错?只是没有提示错误而已?
2008-06-01 15:50
Loli
Rank: 1
来 自:飞燕算法群46520219
等 级:新手上路
帖 子:348
专家分:0
注 册:2008-5-27
收藏
得分:0 
绝对是18个约数,3*3*2的结果,除非你不计算它本身,那就减一


[color=white]
2008-06-01 15:52
smltq
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:566
专家分:400
注 册:2008-1-21
收藏
得分:0 
算完全数有什么公式?
2008-06-01 16:16
smltq
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:566
专家分:400
注 册:2008-1-21
收藏
得分:0 
求完全数有什么公式?
2008-06-01 16:55
三断笛
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:31
帖 子:1621
专家分:1617
注 册:2007-5-24
收藏
得分:0 
C语言里没找到有求完全数的公式 自己写个函数求
2008-06-01 18:11
流川
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2008-06-01 18:14
快速回复:[求助]C语言基础 Static问题
数据加载中...
 
   



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

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