我想知道为什么当我增加数组a []的值时这个程序停止工作 如果有,plaese告诉我如何在不崩溃的情况下增加这个值 感谢
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int i, j, save;
char a[2082001];
memset(a,'1',2082000);
for (i=2;i<=2082000;i++)
{
if (a[i]=='1')
{
save=i;
for (j=i*2;j<=2082000;j+=i)
a[j]='0';
}
}
printf("save = %d",save);
return 0;
}
答案 0 :(得分:-2)
基本有符号整数类型。能够至少包含[-32767,+ 32767]范围;因此,它的大小至少为16位,
使j超出范围。