int main(int argc, char* argv[])
{
int a=1;
switch(a)
{
case 1:
printf("a=1\n");
case 2:
printf("a=2\n");
case 3:
printf("a=3\n");
default:
printf("default.\n");
break;
}
}
会输出什么?带printf语句的分支都会输出!虽然知道break的问题,但是仔细一想,总觉得不对劲,
进某一个case,你总得跟它匹配才行啊。终于明白了,有人说c/c++中的switch一定要加break语句才能终止某个分支,是c语言中的一个"bug"。