gpt4 book ai didi

c - 如何用三元运算符替换此 if-else 条件

转载 作者:太空宇宙 更新时间:2023-11-04 00:20:01 25 4
gpt4 key购买 nike

请帮助我以更好的方式重写以下条件

这是一个c代码

 if(a == MACRO1)
strcpy(x,"S")
else if (a == MACRO2)
strcpy(x,"K");

最佳答案

if(a == MACRO1)
strcpy(x,"S")
else
strcpy(x,"K");

可以是:

strcpy(x, (a == MACRO1) ? "S" : "K");

但是

if(a == MACRO1)
strcpy(x,"S")
else if (a == MACRO2)
strcpy(x,"K");

还有其他事情要做

strcpy(x, (a == MACRO1) ? "S" : ((a == MACRO2) ? "K" : x));

是正确的,因为 strcpy 的参数不能重叠,但在那种特定情况下不确定这是一个真正的问题(甚至是未定义的行为),而且 x 可能还没有初始化,性能怎么样...

关于c - 如何用三元运算符替换此 if-else 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54443105/

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