<分区>
在我的 C 应用程序中寻找一些可重用的代码时,我遇到了这个表达式:
MDO = ((output_data & 0x80) ? 1 : 0);
我明白括号之间是什么,但是 是什么意思? 1 : 0
是什么意思?
标签 c expression
<分区>
在我的 C 应用程序中寻找一些可重用的代码时,我遇到了这个表达式:
MDO = ((output_data & 0x80) ? 1 : 0);
我明白括号之间是什么,但是 是什么意思? 1 : 0
是什么意思?
最佳答案
它是if-else
的简写,叫做ternary operator .
在你的情况下它等于:
if (output_data & 0x80) {
MDO = 1;
} else {
MDO = 0;
}
还有一点建议,不要将它用于复杂的 if
结构,它会影响可读性。只有在这种情况下才能立即理解它。
关于c - 这个C表达式是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19901541/