C语言break的做用

来源:百度知道 编辑:UC知道 时间:2024/05/24 12:00:47
#include<stdio.h>
int main(void)
{
int n;
printf("请输入一个数,将显示小于等于他的所有素数:\n");
scanf("%d",&n);
for(int i=2;i<=n;i++)
{
for(int j=2;j<i;j++)
{
if(i%j==0)
break;//这句的意思是退出if还是for?
}
if(i==j)//这句放到上面的for(int j=2;j<i;j++)里边为什么就不行了呢?
printf("%d\n",i);
}
return 0;
}

break;//这句的意思是退出if还是for?

这里是for

因为..break可以退出循环语句或switch语句...

它也只能退出这两种
break退出当前的循环语句或switch语句...

if(i==j)//这句放到上面的for(int j=2;j<i;j++)里边为什么就不行了呢?
printf("%d\n",i);

因为:for(int j=2;j<i;j++)是判断某个数是不是素数.还没有完.所以要放到后面,就是说,这条语句结束后才知道 某一个数 是不是素数.

是退出离它最近的一层for循环!

退出for,break作用是退出当前循环。

break是跳出内层循环,也就是与他最近的一层循环,while或for都行。这不是跳出if语句的。