break语句和continue语句

如果我们想要让程序在中途跳出循环,可以用break语句来实现

#include<stdio.h>

int main()
{
int 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("%d是一个素数!\n",num);
}
else
{
printf("%d不是一个素数!\n",num);
}
printf("i=%d\n",i);
return 0;
}

如果写了break,输入10000,i的值为2,因为它不是素数,i=2是,由于break,直接跳出循环

没写i=5000

#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;
}

结果

i=10,j=3

由于break执行,跳到第一个for

如果要j=3时结束整个循环体

#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;
}

结果

i=0,j=3

continue

当满足某个条件时,跳过本轮循环后面内容,直接开始下一轮的循环

#include<stdio.h>

int main()
{
    int ch;
    while((ch=getchar())!=\n)
    {
        if(ch==C)
        {
            continue;
        }
        putchar(ch);
    }
    putchar(\n);
    return 0;
}

相当于输入C,它会进行下一次循环,C就打不出来

continue和break都只能作用一次循环

if(i%2)

{

       continue

}

意思是:i不能被2整除就执行continue

break语句和continue语句

上一篇:bluecms代码审计


下一篇:二分搜索(常规、左边界、右边界)