c语言中a=3,b=2,c=1。a<=b+c的值为什么是0?

如题所述

结论:c语言中a=3,b=2,c=1。a<=b+c的值是1

分析:根据C语言的运算符优先级,加号(+)优先级高于小于等于(<=),所以

3<=2+1,即3<=3,结果为“真”,所以值是1。

代码验证如图示:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-10-24

表达式a<=b+c的值为1(真)

根据运算符优先级,等效于a<=(b+c),代入数字3<=1+2,显然3<=3是成立的,表达式值为真(1)

追问

我理解的也是1,可是给我的答案是0.所以才很不解

本回答被网友采纳
第2个回答  2021-10-24
c语言中a=3,b=2,c=1。a<=b+c的值并不是0,而是1。
因为“+”的优先级高于“<=”,所以是先计算b+c的值,结果是3,然后再判断3<=3的真假,结果是“真”,也就是1。追问

我也觉得是1.不过给我的答案是0,很不解才提问的

追答

第3个回答  2021-12-04
我用代码:main(){int a=3,b=2,c=1;
printf("%d",a<=b+c);},用g++编译后,它的输出却是1。
第4个回答  2021-10-24
首先计算a>b,因为a的值大于b,所以a>b的值为1,然后再计算1>c的值,因为1不大于c的值,所以1>c的值为0
相似回答