C語(yǔ)言中的continue
語(yǔ)句用于繼續(xù)執(zhí)行循環(huán)(while
,do while
和for
)。 它與循環(huán)中的條件一起使用。
在內(nèi)循環(huán)的情況下,它跳過(guò)當(dāng)前迭代,繼續(xù)內(nèi)循環(huán)的下一個(gè)迭代。
語(yǔ)法
jump-statement;
continue;
跳轉(zhuǎn)語(yǔ)句可以是while
,do while
和for
循環(huán)。
打開(kāi)Visual Studio創(chuàng)建一個(gè)名稱為:continue的工程,并在這個(gè)工程中創(chuàng)建一個(gè)源文件:continue-statment.c,其代碼如下所示 -
#include <stdio.h>
void main() {
int i = 1;//initializing a local variable
//starting a loop from 1 to 10
for (i = 1;i <= 10;i++) {
if (i == 5) {//if value of i is equal to 5, it will continue the loop
continue;
}
printf("%d \n", i);
}//end of for loop
}
執(zhí)行上面代碼,得到以下結(jié)果 -
1
2
3
4
6
7
8
9
10
如上輸出所示,5
不會(huì)在控制臺(tái)上打印,因?yàn)檠h(huán)在i == 5
之后,執(zhí)行continue
語(yǔ)句,跳過(guò)剩下的語(yǔ)句并開(kāi)始下一個(gè)迭代。
在這種情況下,C語(yǔ)言中continue
語(yǔ)句只繼續(xù)內(nèi)循環(huán),而不是外循環(huán)。創(chuàng)建一個(gè)源文件:continue-inner-loop.c,其代碼如下所示 -
#include <stdio.h>
#include <conio.h>
void main() {
int i = 1, j = 1;//initializing a local variable
for (i = 1;i <= 3;i++) {
for (j = 1;j <= 3;j++) {
if (i == 2 && j == 2) {
continue;//will continue loop of j only
}
printf("%d %d\n", i, j);
}
}//end of for loop
}
執(zhí)行上面代碼,得到以下結(jié)果 -
1 1
1 2
1 3
2 1
2 3
3 1
3 2
3 3
如上面輸出結(jié)果中所看到的,2 2
這一行數(shù)據(jù)并沒(méi)有打印在控制臺(tái)上,這是因?yàn)樵趦?nèi)部循環(huán)在i == 2
和j == 2
執(zhí)行continue
語(yǔ)句,跳過(guò)并進(jìn)入下一個(gè)迭代。