一、基本用法
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/n/301496.html