C语言中f=a>b>c,a>b是真取1,然后1>c是假取零,但c是一个具体的数,1表示一个真的意思

这俩怎么放到一起比的

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是真啊,请问这是怎么回事?我都蒙了

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-03-18
C语言中不存在bool这种数据类型,真假通过整型的值体现,非0为真,0为假。a>b>c本质上仍是整型之间的运算。
第2个回答  2019-03-18
即使表示真假,c语言里也是数值0,1,可以进行比较的。
第3个回答  2019-03-18
¥iHOtbDuWYMT¥

C语言中f=a>b>c,a>b是真取1,然后1>c是假取零,但c是一个具体的数,1表示...
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= a> b> c为什么等于0?
因为f=a>b>c可以写成f=((a>b)>c),a>b是3>2为真,值为1;然后1>c是1>1为假,值为0;最后赋值给f,所以f=0。这个式子的解答主要在于理解运算符的优先级。

c语言,f=a>b>c什么意思?
a>b>c逻辑表达式 逻辑表达式的只为1或0 从左自右运算 a>b若为真,则值为1,否则为0,在计算1或0是否大于c,若是,则f=1,否则f=0

C语言f=a>b>c是什么意思abc均有初值
1 计算a>b 如成立则为1, 否则为0;2 上一步的结果与c比较,如果比c大,则为1, 否则为0,得到a>b>c的值。3 将上一步的结果赋值给f。

C语言f=a>b>c是什么意思abc均有初值
b,结果为 1;否则,结果为 0。2. 接着,将上一步的结果与 c 进行比较。如果上一步的结果大于 c,即步骤 1 的结果为 1,那么表达式 a > b > c 的结果为 1;如果步骤 1 的结果为 0,那么表达式 a > b > c 的结果为 0。3. 最后,将表达式 a > b > c 的结果赋值给变量 f。

当a=3时,b=2,c=1时,表达式f=a>b>c的值是什么
因为f=a>b>c可以写成f=((a>b)>c),a>b是3>2为真,值为1;然后1>c是1>1为假,值为0;最后赋值给f,所以f=0。这个式子的解答主要在于理解运算符的优先级。

C语言,请问return a<b; 是真就返回1,假就返回0吧,为什么呢?
实际是真返回true,假返回false,转换成int型就成了1、0

C语言中,若int a=5,b=3,c=1;则表达式“f=a>b>c”,运算后的结果f的值...
答案应该是0;f=a>b>c 这个式子从左向右计算,a>b (5>3) =1, 1>c(1) = 0,所以 f=0

7.[填空题]当inta=3,b=2,c=1,f时,表达式f=a>b>c的值是?
从左往右执行。因此,表达式可以写成f=(a>b) && (b>c)。将inta=3,b=2,c=1代入表达式中,可以得到:a>b 的值为True(3>2);b>c 的值为True(2>1);True && True 的值为True。因此,表达式f=a>b>c的值为True。您的采纳和点赞以及关注是对我最大的支持!祝您好运!谢谢!

c语言求教
详情请查看视频回答

相似回答