一、基本用法
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