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输出结果将不会输出最后一个数,麻烦解答一下,谢谢

