一、基本用法
int num = 1;
switch (num) {
case 1:
printf("num is 1\n");
break;
case 2:
printf("num is 2\n");
break;
}
在上面的代碼中,switch語句根據num的值跳轉到對應的case標籤,列印對應的信息,然後使用break語句跳出switch語句。如果沒有使用break,switch語句會繼續執行下面的case標籤,直到遇到break或者結束語句default。
二、跳轉到case的標籤
int num = 2;
switch (num) {
case 1:
printf("num is 1\n");
break;
case 2:
goto case_2;
case_2:
printf("num is 2\n");
break;
default:
printf("num is not 1 or 2\n");
}
在上面的代碼中,根據num的值,跳轉到對應的case標籤case_2,並且列印對應的信息。需要注意的是,使用goto語句跳轉到case標籤時,要在case標籤後面使用一個不同的標識符,以區分普通的case標籤。
三、跳過case的標籤
int num = 3;
switch (num) {
case 1:
printf("num is 1\n");
break;
case 2:
printf("num is 2\n");
goto end;
case 3:
printf("num is 3\n");
break;
end:
printf("switch end\n");
}
在上面的代碼中,當num等於2時,跳過下面的case標籤3,直接跳轉到標籤end,並且列印結束信息。需要注意的是,跳轉到end標籤不會執行end標籤之後的case標籤。
四、結合枚舉類型使用
enum Color {RED, GREEN, BLUE};
enum Color color = RED;
switch (color) {
case RED:
printf("color is red\n");
break;
case GREEN:
printf("color is green\n");
break;
case BLUE:
printf("color is blue\n");
break;
}
在上面的代碼中,定義了一個枚舉類型Color,有三個取值:RED、GREEN和BLUE。根據color的值,跳轉到對應的case標籤,並且列印對應的顏色信息。
五、結合字元類型使用
char ch = 'a';
switch (ch) {
case 'a':
printf("ch is a\n");
break;
case 'b':
printf("ch is b\n");
break;
case 'c':
printf("ch is c\n");
break;
}
在上面的代碼中,根據ch的值,跳轉到對應的case標籤,並且列印對應的字元信息。
六、總結
通過本文,我們學習了jump to case label的基本用法,以及如何跳轉到case標籤、跳過case標籤、結合枚舉類型和字元類型使用。在實際編程中,jump to case label可以方便地替代一些if-else語句,使代碼更加簡潔明了。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/301496.html
微信掃一掃
支付寶掃一掃