C语言问题:a/=a=a为什么等于0啊?(原来a等于12)

搞错咯,是a/=a+a为什么等于0?
为什么a+a得24后24不赋值给等号前面的a呢?

+号的运算符优先级比/=高,所以程序 先计算a+a
式子为a/=24,12除以24整数为0,所以答案为0,如果式子换成a=a%24,那么结果是12
/表示结果取整数部分,%表示结果取余数部分
温馨提示:内容为网友见解,仅供参考
第1个回答  2007-10-27
a/=a+a
等价于a=a/(a+a)
如果原来a=12
则a=12/24
等于0
就是这样的
凡是出现a+=i
a-=i
a*=i
a/=i
a%=i
都要加括号的
即a=(a%i)本回答被提问者采纳
第2个回答  2007-10-27
我感觉是等于1.
/= 和= 都是赋值运算符,其结合方向是自右至左的,故应该为:a/=(a=a),先算a=a 结果为12(a没变为12),再算a/=12即a=a/12也就是等于1

是a/=a+a的话,同意yujunliang316的答案
第3个回答  2007-10-27
你打错了吧,应该是+号吧! +号的运算符优先级比/=高,所以程序 先计算a+a
式子为a/=24,12除以24整数为0,所以答案为0
第4个回答  2007-10-27
答案应该是 1 ; 你弄错拉

式子从右向左运算等价为以下两个语句 先 a = a; a为12,然后
a /= a ;

C语言问题:a\/=a=a为什么等于0啊?(原来a等于12)
式子为a\/=24,12除以24整数为0,所以答案为0,如果式子换成a=a%24,那么结果是12 \/表示结果取整数部分,%表示结果取余数部分

在c语言中a\/=a+a怎么计算?其中a=12
a=a\/(a+a)=12\/(12+12)=12\/24;\/\/如果a是整型;a=0;如果a是浮点型;a=0.5;

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

C语言a+=a-=a*=a怎么等于0啊,具体怎么算的,请教高手
+= -= *= 都是复合的赋值运算符,结合方向从右到左,所以要从右到左运算。第一步:执行 a*=a,a变为144 第二步:执行 a-=a,a变为 0 第三步:执行 a+=a,a还是 0

C语言中a\/=a的值
是1吧 a\/=a 就是 a=a\/a

c语言为什么a输出出来变成01了?内有图
include<stdio.h>#include<stdlib.h>int main(int argc,char **argv){int a= 10;int b = 9;printf("%d,%d,%d,%d\\n", ++a, a, --b, b);system("pause");return 0;}感觉后面那个b的值答案也给错了,这个资料太坑人了 我有点明白了 这个考的是参数入栈的问题,有一种是c标准入...

C语言表达式a+=a-=a*=a结果是多少?运算顺序是怎样的?(a=12)_百度...
从右向左算 首先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初值为12,答案应该等于多少呢?原因是?
从右往左计算 一开始a=3 执行a-=a*a(相当于a=a-a*a)后 a=3-3*3=-6 然后执行a+=a(相当于a=a+a)后 结果a=(-6)+(-6)=-12

C语言表达式a+=a-=a*=a结果是多少?运算顺序是怎样的?(a=12)_百度...
赋值运算符优先级最低,所以计算方式是由右向左, 首先是 a*=a = 12 * 12 = 144, 算出的结果 再计算 a = a - 144 = -132, 然后再计算 a = a + (-132) = -120;不明白继续追问!

c语言题:a+=a—=a×=a a原来为12 求运算后的值
a+=a-=a*=a;<=>(等价)a += a -= a *= a;= ,-=,+=运算优先级别相等;根据右向作结合的原则,运算顺序为:a *= a;a = 144;a -= a;a = 0;a += a;a = 0;看出最后为0;

相似回答