情形1:不加{},优化代码时直接将else关联的逻辑部分拆出来,导致BUG
被修改为:
实验验证代码:
/*****************************************************
* > File Name: switch.c
* > Author: fly
* > Create Time: 2021-07-30 5/30 15:13:03 +0800
*==================================================*/
#include <stdio.h>
int main(int argc, char* argv[])
{
int a = 0;
int flag = 100;
if(a == 1)
printf("hello\n");
else
switch(flag)
{
default:
printf("default\n");
break;
case 100:
printf("flag 100\n");
break;
}
return 0;
}
运行效果:
[fly@fly-vm test]$ make switch
gcc -o switch switch.c -g -Wall
[fly@fly-vm test]$ ./switch
flag 100