我可以直接使用条件为C中的变量赋值吗

标签 c conditional-statements ternary-operator

bool bVal;
int a = 5;
int b = 2;

bVal = (bool)a>b;

语句 bVal =a>b; 是否可以接受。当然,这对我来说很好用。

但我看到人们使用这样的东西:

#define CHECK_bIsTrue(value)  ((value) ? TRUE : FALSE)

如果只是 bool 值,为什么还要使用三元运算符?

最佳答案

是的,bVal = a>b; 是完全正确的。

对这样一个简单的赋值使用三元是矫枉过正,使用宏是不合理的。

关于我可以直接使用条件为C中的变量赋值吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32045449/

相关文章:

javascript - 如果后面跟着其他表达式 JS,则拒绝完整的 RegEx

compilation - 如何让 MSbuild 仅使用 "DefineConstants"之一进行条件测试?

iphone - 我如何使用 NSConditionLock?或 NSCondition

reactjs - 需要在 JSX 中设置条件的帮助

c - 未指定大小的数组声明如何充当指针?

c - 在 Lua 之外使用 Lua 的哈希表是否可能/实用?

c - 功能正常,没有 "const"标志。 "const"的重要性?

c - C中线程间的全局变量同步

c++ - 由于条件而不传递参数

lua逻辑运算符/a?b :c operator