#include <stdio.h>
int main() {
int a = 10, b = 20, c = 30;
if (c > b > a)
printf("TRUE");
else
printf("FALSE");
return 0;
}
if(c&gt; b&gt; a)会发生什么,我知道这就像if((c&gt; b)&gt; a),但为什么那么假?
答案 0 :(得分:4)
运营商>
是左关联的,因此c > b > a
将括号为((c > b) > a)
。由于30
大于20
,c > b = 1
。所以,
(c > b) > a => (1 > a) => 1 > 10 => false
答案 1 :(得分:1)
c>b
的计算结果为1,不大于10。
答案 2 :(得分:1)
c > b > a
表示
(c > b) > a
在你的情况下是假的..