关于素数的一个问题
程序代码:
#include<stdio.h> #include<math.h> int main(void) { int m,i,flag=1; printf("请输入一个数据:\n"); scanf("%d",&m); for(i=2;i<=m/2;i++) { if(m%i==0) { flag=0; break; } } if(flag==1) printf("%d是素数\n",m); else (flag==0); printf("%d不是素数\n",m); return 0; }
这里为什么输出变成如下的呢?
一旦if(flag==1)
printf("%d是素数\n",m);
else (flag==0);
printf("%d不是素数\n",m);
改成flag?printf("%d是素数\n",m):printf("%d不是素数\n",m);就OK了,这两种表达方法不一样吗?