【发布时间】:2018-11-14 19:51:05
【问题描述】:
这会打印出4。为什么?
我知道三元运算符的工作原理,但这使它变得复杂。
printf("%d", 0 ? 1 ? 2 : 3 : 4 );
这也会打印d。
???
int x=0, y=1 ;
printf( "d", x ? y ? x : y : x ) ;
【问题讨论】:
-
如果你问“为什么”,你应该告诉我们你为什么认为它不应该这样。
-
我问是因为我不知道。我从未声称打印值是错误的或正确的。
-
一旦得到答案,删除部分问题是一种不好的形式。帖子回滚。
-
请注意,由于一些晦涩的原因,PHP 人员认为反转三元条件运算符的关联性是个好主意。 C、C++、C# 和 Java。不过,在你的情况下,这并不重要。
标签: c ternary-operator