输入2,结果为什么是22。


int main____
{ int i;
scanf("%d",&i);
switch(i)
{case 1 : printf("%d",i);
case 2 : printf("%d",i);
default: printf("%d",i);
}
}

因为case没写break,会贯穿标签
case 2后面执行一遍,default里再执行一遍,这不输出2个2吗

因为case语句并没有加break,所以会一直向下执行所有case和default