0
点赞
收藏
分享

微信扫一扫

C语言 | 关于if-else添加{}的问题


情形1:不加{},优化代码时直接将else关联的逻辑部分拆出来,导致BUG

C语言 | 关于if-else添加{}的问题_#include

 被修改为:

C语言 | 关于if-else添加{}的问题_#include_02

实验验证代码:

/*****************************************************
* > 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

另外一种情形,不加{},将额外的逻辑和else关联起来

比较不经意出现的BUG,不够仔细还真发现不了问题

C语言 | 关于if-else添加{}的问题_#include_03

举报

相关推荐

求助~if-else if问题

if-else用法

mybatis if-else

bash简化if-else

if-else练习2

细谈if-else语句

0 条评论