break语句
#include <stdio.h>
int main()
{
long long i,num;
_Bool flag=1;
printf("请输入一个整数:");
scanf("%d",&num);
for (i=2;i<num/2;i++)
{
if (num % i == 0)
{
flag = 0;
break;
}
}
if (flag)
{
printf("%lld是一个素数",num);
}
else
{
printf("%lld不是一个素数",num);
}
printf("i=%lld",i);
}
跳出内层循环
#include <stdio.h>
int main()
{
int i,j
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
if (j == 3)
{
break;
}
}
}
printf("i=%d,j=%d\n",i,j);
return 0;
}
跳出外层循环
#include <stdio.h>
int main()
{
int i,j
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
if (j == 3)
{
break;
}
}
if (j == 3)
{
break;
}
}
printf("i=%d,j=%d\n",i,j);
return 0;
}
continue语句
#include <stdio.h>
int main()
{
int ch;
while ((ch = getchar()) != '\n')
{
if (ch == 'C')
{
continue;
}
putchar(ch);
}
putchar('\n');
return 0;
}```
![在这里插入图片描述](https://img-blog.csdnimg.cn/869413f7eef847569156e37229679cb9.png)
## continue在for语句和while语句中的区别
```c
#include <stdio.h>
int main()
{
int i;
i=0;
while(i<100)
{
if (i%2)
{
continue;
}
i++;
}
return 0;
}
上面的程序会陷入到死循环,思考为什么?第一轮i=0的时候,0%2=0,执行i++;第二轮i=1的时候,1%2=1,执行continue,程序会一直卡在continue
#include <stdio.h>
int main()
{
int i;
for(i=0;i<100;i++)
{
if (i%2)
{
continue;
}
}
return 0;
}