我之前曾使用过三元运算符来处理像 if-else
这样的条件,但这里有所不同,即在 ?
之前不检查条件。
printf( "%d\n",10?0?5:11:12 );
已编辑:
那么,由于我在第一个 之前没有看到任何条件,编译器将如何评估
。11
?
最佳答案
表达式10 ? 0 ? 5 : 11 : 12
解析如下:10 ? (0 ? 5 : 11) : 12
。所以这意味着在第一个测试中,由于 10 为真,因此它将评估 0 ? 5 : 11
,其计算结果为 11,因为 0 为 false。
关于c - 三元运算符使用问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27223832/