所以这句的计算步骤为
1
计算a>b
如成立则为1,
否则为0;
2
上一步的结果与c比较,如果比c大,则为1,
否则为0,得到a>b>c的值。
3
将上一步的结果赋值给f。
C语言中,逻辑值 “真”可以用数值 1 表示,逻辑值 “假”可以用数值 0 表示。反过来,数值 0 表示"假",数值 非 0 表示"真",(+1,+2,+3,-1,-2,-3 。。。只要不是0的 数值,都是"真")。
所以逻辑值与数值可以混起来运算。
f=a>b>c 是赋值语句。把 表达式 a>b>c 的值 赋 给 f .
a>b>c 是逻辑表达式,按运算符优先级,可写成: ( (a>b) >c) .
若(a>b) 是"真" 取值 1; (1>c) 若 成立,得 "真" 取值 1,f 得 1; (1>c) 若 不成立,得 "假" 取值 0,f 得 0;
若(a>b) 是"假" 取值 0; (0>c) 若 成立,则得 "真" 取值 1,f 得 1; (0>c) 若 不成立,则得 "假" 取值 0,f 得 0;
A>B>C 或者 3>2>1这种逻辑表达式,在C语言中,会首先计算3>2的值,得逻辑真,结果用整数表示就是1,然后计算1>1的值,很显然为假,所以整个逻辑表达式的值为逻辑假,也就是0
注意这种表达式跟数学上这种式子的意义是完全不一样的