1、首先int a[20]是定义了一个整型数组,长度为20。取数组中元素是通过下标方式获取,下标从0开始,所以长度为20的数组,最大下标是19。你这里面用a[20]会越界,运行错误;
2、你是想把0~100以内的素数存在a数组里面?那第一个for循环里面需要再加一个变量当作数组a的下标使用,例如写成a[n];
3、素数又称质数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;
这么改下,供参考:
#include<stdio.h>
int main()
{
int a[100]={0},m=0,i,j,flg;
for(i=1;i<100;i++){
flg=0;
for(j=2;j<i;j++){
if(i%j==0){
flg=1; break;
}
}
if(!flg && i!=1)a[m++]=i;
}
for(i=0;i<m;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}