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=9,b=5,c=3,这个比较的话,a>b,取1,在用1>3,取0,这样f不就等于0了吗,但这个a>b>c是真啊,请问这是怎么回事?我都蒙了