continue语句用于循环。当在循环内遇到 continue语句时,控制流跳转到循环的开头以进行下一次迭代,跳过当前迭代循环体内语句的执行。
C - continue语句
语法:
continue;
continue语句的流程图

示例:for循环中的continue语句
#include <stdio.h>int main(){for (int j=0; j<=8; j++){if (j==4){/* The continue statement is encountered when* the value of j is equal to 4.*/continue;}/* This print statement would not execute for the* loop iteration where j ==4 because in that case* this statement would be skipped.*/printf("%d ", j);}return 0;}
输出:
0 1 2 3 5 6 7 8
输出中缺少值 4,为什么?当变量j的值为 4 时,程序遇到一个continue语句,它使控制流跳转到for循环的开头以进行下一次迭代,跳过当前迭代的语句(这就是printf在j等于 4 时没有执行的原因)。
示例:在while循环中使用continue
在这个例子中,我们在while循环中使用continue。当使用while或do-while循环时,需要在continue上方放置一个递增或递减语句,以便在下一次迭代时更改计数器值。例如,如果我们不在if的正文中放置语句,那么counter的值将无限期地保持为 7。
#include <stdio.h>int main(){int counter=10;while (counter >=0){if (counter==7){counter--;continue;}printf("%d ", counter);counter--;}return 0;}
输出:
10 9 8 6 5 4 3 2 1 0
当计数器值为 7 时,将跳过print语句。
do-While循环的continue的另一个例子
#include <stdio.h>int main(){int j=0;do{if (j==7){j++;continue;}printf("%d ", j);j++;}while(j<10);return 0;}
输出:
0 1 2 3 4 5 6 8 9
