标题:static用法的问题
只看楼主
勃起的橡皮擦
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-7-24
结帖率:100%
已结贴  问题点数:20 回复次数:4 
static用法的问题
程序代码:
/*一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。找出1000以内的所有完数。*/
#include<stdio.h>
int main()
{
    int i,j,s,n;
        static int k[10];
    for(i = 2;i < 1000;i++)
    {
        s = 0;
        n = -1;
        for(j = 1;j <= i/2;j++)
        {
            if(i % j == 0)
            {
                n ++;
                s = s +j;
                k[n] = j;
            }
        }
        if(s ==i)
        {
            printf("%d is a wanshu",i);
             for(j=0;j<=n;j++)
                printf("%d,",k[j]);
              printf("\n");
        }   
    }
    


    return 0;
}
定义数组K的时候为什么要用static, 如果不用static输出结果将不会输出最后一个数,麻烦解答一下,谢谢
2015-07-24 09:26
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:20 
int k[100];

DO IT YOURSELF !
2015-07-24 09:29
勃起的橡皮擦
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-7-24
得分:0 
回复 2楼 wp231957
为什么用了static,就不用扩大数组空间呢?
2015-07-24 09:35
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
看一下这个链接  http://blog.

我觉得你1楼的代码虽然能运行 但也属于危险代码系列  还是不安全的

DO IT YOURSELF !
2015-07-24 09:38
勃起的橡皮擦
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-7-24
得分:0 
回复 4楼 wp231957
了解了,非常感谢
2015-07-24 09:54



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




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

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