在使用switch语句时, switch和case后值的类型要求以及default子句和break语句的位置有什么需要注意的地方?举例说明。
时间: 2024-03-24 21:37:09 浏览: 56
当使用switch语句时,switch和case后的值必须是整型或字符型,否则会出现编译错误。在default子句中可以使用任何语句,而且它是可选的,当没有匹配的case标签时,程序会执行default子句中的语句。break语句用于跳出switch语句,如果没有break语句,程序会继续执行下一个case标签中的语句,直到遇到break语句或switch语句结束。
下面是一个示例代码:
```c
#include <stdio.h>
int main()
{
int num = 2;
switch(num)
{
case 1:
printf("num is 1\n");
break;
case 2:
printf("num is 2\n");
/*没有break语句*/
case 3:
printf("num is 3\n");
break;
default:
printf("num is not 1, 2 or 3\n");
}
return 0;
}
```
上述代码中,num的值为2,因此程序会输出“num is 2”,然后会继续执行下一个case标签中的语句,即“num is 3”,最后遇到break语句,跳出switch语句。
需要注意的是,如果在default子句中没有break语句,程序会继续执行下一个case标签中的语句,因此在编写程序时需要特别小心。
阅读全文