求助----为什么会这样
求助----为什么会这样 编制一个程序,输入一个正整数,如果是素数,则输出该素数,否则输出该数的所有因子(除去1和本身) 我用k[32767]会出错,而且是在运行时输入较大的数时才出错,如100。与32767差不多大小都会出错。 #include"stdio.h" main() { int i,j,n,sum=0; printf("\ninput n:"); scanf("%d",&n); if(n<=0) printf("error"); else if(n<=2) printf("\n%d",n); if(n>=3) { int k[32767]; /*为什么不能达到这个数(32767)运行时在TC2下会死掉,在WIN-TC下 要求关闭DOS*/
for(i=2;i<n;i++) {
k[i-2]=n%i; { if(k[i-2]==0) { printf("%8d",i); k[i-2]=1; } else k[i-2]=0; sum=sum+k[i-2]; } }
if(sum==0) printf("\n%d",n);
}
getch(); }