C++ switch注意事项(陷阱)

时间:2024-01-23 20:28:33

话不多说,直接上代码

 

int a;
printf("请输入一个整数:");
scanf("%d", &a);
switch (a)
{
  case 0:
    printf("000000\n");
  case 1:
    printf("111111\n");
  default:
    break;
}

期望输出结果:000000

 

实际输出结果

我们本来想要程序输出000000,然而程序却从上至下全部输出了一遍,可是这不是我们想要的结果呀,这可咋办呀!!!

经过仔细检查发现原来在switch中的每个case后面遗漏了break,所以程序将当前case以下的每个语句都执行一遍,

嘿嘿,在case后面加上break就能够正常运行了呦。