C语言 赋值表达式运算,设a初始值为12,a/=a+a,求a的值为?

如题所述

复合运算符/=的优先级小于+ 所以a/=a+a等效于a=a/(a+a)
a如果是int型结果为0。为浮点型则为0.5。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-11-08
要看a的定义类型是什么
假如a 的类型是整型,则值为0
a/=a+a等价于a=a/(a+a)
如果a的类型为float型的。则值为0.50000(Win-TC环境下)
第2个回答  2007-11-08
复合运算符/=的优先级小于+ 所以a/=a+a等效于a/=(a+a)
于是表达式的结果取决于a的数据类型 如果是整型则为0
第3个回答  2007-11-08
#include "conio.h"

main()
{ int a =12;
int s;
s=(a/=a+a);
printf("%d",s);
getch();
}
你可以试试
第4个回答  2007-11-08
如果 a为int则等于0
如果a为float则等于0.5
第5个回答  2007-11-08
a/=a+a相当于a=a/(a+a),a的初值是12的话,那么a为整型数据,所以a最后为0