常见的情况是在switch语句中default子句处在switch的最后面,但是假如default不是在最后一个会是什么情况呢?
先上一段代码
- #include <stdio.h>
- #include <stdlib.h>
- int
- main(void)
- {
- for (int i = 0; i < 5; i++) {
- switch (i) {
- default:
- printf("default\n");
- //break;
- case 0:
- printf("0\n");
- break;
- case 1:
- printf("1\n");
- break;
- case 2:
- printf("2\n");
- break;
- case 3:
- printf("3\n");
- break;
- }
- }
- return EXIT_SUCCESS;
- }
大家觉得结果会是什么呢?
哈哈… 意外吗?取消代码第12行的注释符号后,结构会是什么呢?大家猜一猜?
总结:default语句最为switch语句一个第一个case的时候:
1.如果没有任何case匹配的时候,才会执行default语句,而且如果default语句里面不含break,将顺序执行下去。
2.如果有case语句匹配时,运行结果是和default放在switch的最后是一样的。
还可以尝试将default语句放在switch语句的几个case之间,结果和放在switch语句的最前面是类似的。
阅读(7151) | 评论(0) | 转发(0) |