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

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。代码验证如图示:

C语言,当A=3,B=2,C=1时表达式F=A〉B〉C的值是0.对吗
A>B>C 或者 3>2>1 这种逻辑表达式,在C语言中,会首先计算3>2的值,得逻辑真,结果用整数表示就是1,然后计算1>1的值,很显然为假,所以整个逻辑表达式的值为逻辑假,也就是0 注意这种表达式跟数学上这种式子的意义是完全不一样的

当a=3,b=2,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语言题目 1.当a=3,b=2,c=1时,表达式f=a>b>c的值是() 为什么答案是0...
当a=3,b=2,c=1时 a>b,即3>2,结果为真,也就是1 1>c,即1>1,结果为假,也就是0;因此f=a>b>c的最后结果是0

c语言中,a=3,b=2,c=1,a>b>c的运算结果是多少
为假 我认为你们的回答不太准确 c语言会一个个运算 因为 a>b为真,所以结果为1 然后1>c为假,所以最后的结果为假,c语言不是不能这样,而是会照成与预期表达不一致

当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语言为什么先计算b等于c的值,再执行a等于0?
首先因为“==”号比“=”的优先级高,所以先执行b==c,明显b等2,c等3两者不等,所以为0(逻辑运算,当b不等c时这个等式的值就为假即是0),再执行a=0,就把0值赋给了a。1、赋值语句本身也是一个表达式,也是有返回值的,它的返回值就是赋值给变量的值,比如b=1这个语句,会把1...

C语言程序中a=b==c是什么意思
举报| 评论 2 0 首先因为==号比=的优先级高,所以先执行b==c,明显b等2,c等3两者不等,所以为0 (逻辑运算,当b不等c时这个等式的值就为假即是0),再执行a=0,就把0值赋给了a,这就是结果,,明白了吧。。 hgc0907 | 发布于2011-06-23 举报| 评论 2 0 b==c表示判断b是否等于c,如果等于那么...

c语言中int a=1,b=2,c c=1.0\/b*a 输出结果为什么
结果是c的值是0 因为1.0 \/ b 都会转换位浮点型,结果是0.5, 0.5 * a 也是会把a转为浮点型,结果是0.5 而c是整形,会对右边运算的结果取整,所结果就是0了。

C语言中if(c=a+b)是什么意思其中c=3 ,a=1,b=2
if (c = a+b)与if (c == a+b)不一样。第一个是将a+b的值赋给c,如果结果不为零,则条件判断结果为真,否则为假;第二个是将a+b的值与c的值比较,如果相等则条件判断结果为真,否则为假。这个条件语句的书写方式一般并不被提倡。

相似回答