Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我是 C 的新手,我理解为什么三元运算符很有用,代码比 if/else 块少。
我得到了一些 C 代码来维护,我注意到的一件事是以前的程序员使用了像这样的三元运算符
myInt = (!myInt) ? MACRO1 : MACRO2;
这是否完成与此完全相同的事情:
myInt = myInt ? MACRO2 : MACRO1;
这只是一种风格吗?也许考虑“如果不是”myInt 而不是“如果”是有意义的?
是的,这段代码完成了完全相同的事情。它仅取决于编写条件时使用的逻辑 - 因此可以将其归结为样式(即您更容易想到的那个)。
是的,你是对的。似乎该代码的创建者想让表达式比它需要的更混乱。
我更喜欢第二个例子,因为它没有使用反向逻辑,因此更容易理解并且更少混乱。