#include <stdio.h>
int main()
{
int i;
for (i=0;i<3;i++){
switch(i) {
case 0: printf("%d ",i);
case 2: printf("%d ",i);
default:printf("%d ",i);
}
}
return 0;
}
为什么结果是0 0 0 1 2 2
而不是0 1 2捏
#include <stdio.h>
int main()
{
int i;
for (i=0;i<3;i++){
switch(i) {
case 0: printf("%d ",i);
case 2: printf("%d ",i);
default:printf("%d ",i);
}
}
return 0;
}
为什么结果是0 0 0 1 2 2
而不是0 1 2捏
因为case语句没有break。当没有break跳出switch 时,程序会继续向下执行后面的case语句
所以当i=0时,满足case 0 ,在输出一个0的同时,还会继续乡下执行case 2和default,又输出两次0,所以是3个0,其它雷同