C语言 a=12 问 a/=a+a 运算后a的值 为什么是0 ? +号的优先级不是比/=低么?

如题所述

第1个回答  2014-04-21
/= 优先级 比 + 低

/ 优先级 比 + 高
第2个回答  2014-04-22

所以原语句分为两部。

    求 a+ a 的值(右值)为24

    求 a / = 24. 即  a = 12/24 = 0

本回答被提问者采纳
第3个回答  2014-04-22
a/=a+a;是a=a/(a+a)的缩写

C语言 a=12 问 a\/=a+a 运算后a的值 为什么是0 ? +号的优先级不是比\/=...
\/= 优先级 比 + 低 \/ 优先级 比 + 高

a=12 a\/=a+a最后a的值是多少?
从a=12来看,a可能是个整型变量 ,而a=a\/(a+a)=1\/2,而1\/2=0.5,并且a是整型变量 ,所以取结果的整数部分,故为0

C语言 赋值表达式运算,设a初始值为12,a\/=a+a,求a的值为?
复合运算符\/=的优先级小于+ 所以a\/=a+a等效于a=a\/(a+a)a如果是int型结果为0。为浮点型则为0.5。

C语言a=12,a\/=a+a为多少?
最终a值为0 a\/=a+a 即 a=a\/(a+a)=12\/24 整型数据相运算,结果依旧是整型,结果保留整数部分0

C语言:int a=12; a\/=a+a的结果多少?
因为你定义的int整型 他取的是整数部分 其实你运算的答案是0.5 但对于int 他只取小数点前的0 对于小数要用double或float型 如 double a=12 a\/=a+a;cout<<a<<endl;运行的结果就是0.5了

C语言问题:a\/=a=a为什么等于0啊?(原来a等于12)
+号的运算符优先级比\/=高,所以程序 先计算a+a 式子为a\/=24,12除以24整数为0,所以答案为0,如果式子换成a=a%24,那么结果是12 \/表示结果取整数部分,%表示结果取余数部分

c语言问题,a=12,a+=a-=a*a为什么最后结果是0啊,怎么算的?谢谢!
从右边开始拆开:a+=a=a-a*a,带入:a+=a=12-144,所以a=-132 然后继续:a=a+a,带入:a=-132-132=-264 结果为0说明要不然是你式子写错了,要不然是你程序编错了

c语言: a=12 计算 a\/=a+a a+=a-=a*=a
根据优先级算出结果为0,但是你这样的表达式是没有意义的,实际写代码的时候大家都不会有这样的表达式出现。

c语言中,已知a=12,则表达式a+=a-=a*=a的结果是什么,求步骤
从右向左算 首先a的值是12 第一步:计算a*=a a=a*a=144 第二步:计算a-=144 a=a-144=0 第三步:计算a+=0 a=a+0=0

c语言赋值运算中a\/=a+a
先算a+a,得到结果,然后算a\/=(a+a),也就是a=a\/(a+a)

相似回答
大家正在搜