gpt4 book ai didi

c - if(TRUE) 在 C 中是个好主意吗?

转载 作者:太空狗 更新时间:2023-10-29 16:31:20 26 4
gpt4 key购买 nike

在 C 编程语言中,我的理解是变量只能在代码块的开头定义,并且变量将具有声明它的 block 的范围。考虑到这一点,我想知道像本例中那样人为地创建一个新范围是否被认为是不好的做法:

void foo()
{
... Do some stuff ...

if(TRUE)
{
char a;
int b;

... Do some more stuff ...
}

... Do even more stuff ...
}

假设在宏定义中将 TRUE 设置为 1,这段代码会被认为是“好代码”还是会让经验丰富的程序员一想到它就畏缩不前?

感谢您的意见!

编辑:为了回应一些答案,我正在使用的代码需要与一些相当古老的遗留系统一起工作。虽然在 C99 的假设下运行会​​很好,但我们真的不能保证他们会拥有它。

最佳答案

您甚至不需要 if 语句。您可以使用 {}

创建 block

然而,这可能应该是一个单独的函数。

这里的例子:

#include <stdio.h>

int
main(int argc, char **argv) {
int i = 0;
{
int i = 10;
printf("%d\n", i);
}
printf("%d\n", i);
}

关于c - if(TRUE) 在 C 中是个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/541705/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com