for、while和do-while中的break、continue用法及含义
这三种循环语句包含三部分:循环变量的初始化、~判断、~调整
(1)for()
(for循环的三个部分可以省略不写,语法支持
判断部分被省略,判断就恒为真,死循环)
for中的continue会跳过去,并且输出后面的内容,因为调整部分在开头; break终止循环后就不往下执行了;
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int i = 1;
for (i = 1; i <= 10;i++) //应该循环10次
{
if (i == 5)
break;//break;终止循环后就不往下执行了
printf("%d ", i);
}
return 0;
}
//运行结果:1 2 3 4
(2)while()
while中的continue会跳过去,但不会输出后面内容,因为它会卡在判断部分(导致死循环),并没有完全终止循环(看下图的光标);break终止循环后就不往下执行了(同上);
int main()
{
int i = 1;
while (i <= 10) //应该循环10次
{
if (i == 5)
continue;//continue;终止后就不往下执行了,但是!并没有完全终止循环
printf("%d ", i);
i++;
}
return 0;
}
//运行结果:1 2 3 4
除非!把调整部分(如i++)放在条件语句的前面(即continue的前面) ↓
int main()
{
int i = 0;
while (i <10) //应该循环10次
{
i++;
if (i == 5)
continue;//终止后就不往下执行了,但是!并没有完全终止循环
printf("%d ", i);
}
return 0;
}
//运行结果:1 2 3 4 6 7 8 9 10
(2)do-while()
do-while的continue、break同while一样
int main()//这种方法会导致死循环 输出1 2 3 4 停住了 同while的continue;
{
int i = 1;
do
{
if (i == 5)
continue;
//continue之后 不执行do里边(也就是不执行下面两条语句),
//继续while再判断i==5..又进入死循环
printf("%d ", i);
i++;
} while (i <= 10);
return 0;
}
//运行结果:1 2 3 4
小小建议:进入死循环后,按停止键,以免文件被锁无法继续写....↓
要是被锁也没关系,找到.exe关掉就好啦(我用的火绒安全软件)具体操作方法 ↓
找到你的代码文件夹,右击火绒解锁占用