c语言求素数为什么最后需要判断i==n

#include<stdio.h>

int main()

{

int n=6,i=1;

while(++i<n)

if(n%i==0)

{

printf("%d is not prime\n", n);

break;

}

if(i==n)//为什么需要这句呢

printf("%d is prime\n", n);

}

if(i==n)//表示正常循环结束

如果是中途用break;跳出循环 i会小于n

i==n表示for循环全部执行完,符合循环退出条件情况下的正常结束,也意味着循环体中没有找到n的任何一个有效因子,因此可以判断n就是素数

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m