- 循环和switch专属的跳转:break
 - 循环专属的跳转:continue
 - 无条件跳转:goto
 
break
int main() { // 需求: 一共吃5碗饭, 吃到第3碗吃饱了, 结束吃饭动作 // 1. 定义条件变量,为了查看方便, 计数器从 1 开始 int i = 1; while (i <= 5) { // 2. 控制条件 if (i == 3) { printf(“吃饱了,不吃了\n”); break; // 结束循环,退出循环 }
printf("吃第 %d 碗饭\n", i);// 3. 条件变量改变i++;}return 0;
}
<a name="OHEmQ"></a># continue- 某一条件满足时,不再执行本次循环体中后续重复的代码,但进入下一次循环判断- while循环,continue 之前一定要修改计数器(条件变量),否则,导致死循环- 需求:一共吃5个苹果,吃到第3个遇到虫子,这个跳过不吃,下一个继续- 示例代码:```c#include <stdio.h>int main() {// 需求: 一共吃5个苹果,吃到第3个遇到虫子,这个跳过不吃,下一个继续// 1. 定义条件变量,为了查看方便, 计数器从 1 开始int i = 1;while (i <= 5) { // 2. 控制条件if (i == 3) {printf("这个有虫子,不吃了\n");i++; // continue 之前一定要修改计数器(条件变量),否则,导致死循环continue;; // 跳过本次循环,下次继续}printf("吃第 %d 个苹果\n", i);// 3. 条件变量改变i++;}return 0;}
goto
- goto用于无条件跳转
- 在一种情况下可以使用goto语句:从一组嵌套的循环中跳出
 
 - goto语句可以导致代码不易理解和维护,并且容易引入不必要的错误。因此,除非必要,最好不要使用goto语句
 - 示例代码:
```c
include
 
int main() {
int i = 0;while (i < 3) {if(i == 1) {goto End; // 跳转到End标签}printf("i = %d\n", i);i++;}End:printf("this is ending!\n");return 0;
} ```
