a不是等于3吗,switch中是a,入口就是3,所以从星期三开始打印,由于没有设置break;,它会从星期三打印到星期七;如果a不在1到7以内,那么它将执行default后面的语句,即是输入错误。
int main()
{
int a= 3;
switch(a)
{
case 1:
printf("星期一");
case 2:
printf("星期二");
case 3:
printf("星期三");
case 4:
printf("星期四");
case 5:
printf("星期五");
case 6:
printf("星期六");
case 7:
printf("星期七");
default:
printf("输入错误");
}
return 0;
}
那么问题来了,请问a是3,我执行了星期三到星期七,后面的输入错误还会执行吗?答案是会的
所以你最好在default之前加个break;,执行到星期七就跳出,很多新手不懂加个break,这个地方就很容易错误。