gpt4 book ai didi

c - 如何重新设置 C 代码的样式以从 if 语句条件中排除赋值

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:23:00 24 4
gpt4 key购买 nike

我倾向于通过 Linux 内核黑客来编写代码,主要是做清洁补丁。最近我遇到了一些不寻常的 if 语句,这些语句在语句的条件部分内包含变量赋值。

if (!strcmp(filename, "-"))
cpio_list = stdin;
else if (!(cpio_list = fopen(filename,"r"))) {
...
...
}

checkpatch.pl 将其称为样式错误。我会(我可以吗?)以什么方式重构这段代码而不破坏它?

文件:linux/usr/gen_init_cpio.c

最佳答案

拆分 else if,这样您就可以在 if 之前进行赋值。

if (!strcmp(filename, "-"))
cpio_list = stdin;
else {
cpio_list = fopen(filename,"r")
if (!cpio_list) {
...
...
}
}

但是您可能想要重构一个函数,以便您可以在 else 之前return

就我个人而言,我认为偶尔在 if 条件下赋值没什么大不了的,只要它被括起来(这意味着程序员是认真的,它很明显,并且抑制了编译器警告) .

关于c - 如何重新设置 C 代码的样式以从 if 语句条件中排除赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29911699/

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