问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
/*输出2-500所有的素数,并且每行输出10个*/
#include<stdio.h>
int main()
{
int n,i,flag,count=0; //为什么在这一行写flag=1,运行不出想要的结果
for(n=2;n<=500;n++)
{
for(i=2,flag=1;i<n;i++) //为什么要在这一行写flag=1
if(n%i==0)
flag=0;
if(flag==1)
{
printf("%5d",n);
count++;
if(count%10==0)
printf("\n");
}
}
return 0;
}
运行结果及报错内容
如果写int flag=1 运行结果是2 3
若写在第二个for循环内 则是想要结果
我的解答思路和尝试过的方法
我想要达到的结果
想知道这是什么原因