下面这道c语言题中为甚么if(i>=x) printf("YES");让if(i=x) 就可以了吧

来源:百度知道 编辑:UC知道 时间:2024/05/29 01:36:39
判断x是否是素数
main()
{int i,x;
clrscr();
scanf("%d",&x);
for(i=2;i<x;i++)
if(x%i==0) break;
if(i>=x) prinft("YES");
else prinft("NO");
}

这样来看吧x=5
你循环循环。最后当i=4的时候就继续了。然后i++,i=5
此时判断不成立,所以跳出循环。
所以,当所有的循环完后i=x.所以i不可能大于5的
而且是if(i==x)少了一个=号。。会出问题的

老弟,不是我打击你,你问的问题真的很垃圾,其次,你这个程序不管你输入什么他都永远显示 NO 你分析一下 i<x;下面怎么可能i>=x呢!

我也是菜鸟!
有事联系 Email:fdisk08@sina.com

对的,改成i=x亦可