C语言f=a>b>c是什么意思abc均有初值

Python011

C语言f=a>b>c是什么意思abc均有初值,第1张

根据运算符优先级,>(逻辑运算大于)的优先级高于=(赋值运算)。

所以这句的计算步骤为

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

注意这种表达式跟数学上这种式子的意义是完全不一样的