C程序设计:a/=a+a

来源:百度知道 编辑:UC知道 时间:2024/06/14 02:55:05
a的初值是12 写出赋值表达式运算后a的值。 本人理解能力差 望高手讲解清楚 不胜感谢!

"="是赋值号,右结合性。所以先运算a+a
a/ = b就表示a = a / b
所以,表达式的意思就是a = a / (a+a)
即a = 12 / (24 + 24) = 0.5
如果a是整形变量,得出的值应该是0

首先a = a/(a+a) = 12/(12+12) = 0.5

a/=a+a的意思是a=a/(a+a)
所以先运算a+a,得24,再运算a/24,得0.5
所以赋值后a的值是0.5。

运算符连接的变量运算顺序自右向左:

所以,先a+a:12+12=24;然后进行除法运算,a/(a+a),即:12/24;

整型运算的结果是0;

#include<stdio.h>
main ()
{
int a=12;
a/=a+a;
printf("%d",a);
return 0;
}
a=0
a/=a+a;是个复合运算符相当于a = a/(a+a);

规则:
将等号右边内容先加括号,保证不改变原来的运算顺序:a/=(a+a),
将等号左边的内容移到等号右边,等号左边保留变量:a=a/(a+a),
带入数值计算:a=12/(12+12),如果a是整型,则结果为0,如果是浮点型,则结果为0.5