C语言,若变量a为5,则a+=a-=a=a*a的值为?要过程
来源:百度知道 编辑:UC知道 时间:2024/05/26 06:01:13
我算了也是0,但答案是-40。a+=a-=a*=a 这条就永远都是0,这两条应该不一样。
a+=a-=a=a*a
a=a*a 5*5=25
a-=a 25-25=0
a+=a 0+0=0
无论取多少,最后结果都是0
这里有4个运算符,弄清他们的优先级和结合性就好了。首先,算术运算符*优先于赋值运算符+=,-=,=,所以先计算*法,再是赋值(a+=a-=a=25);三个赋值是同级的,那就看结合性,赋值运算符是自右向左结合的,所以从右往左。
第一步: a=25;
第二步: a-=a; a=a-a=25-25=0;
第三步: a+=a; a=a+a=0+0;
所以最后的结果是0;要注意的就是:a*a这是个算术运算,不会改变a的值,但是其余三个赋值运算都会改变a的值。
得到最后a的值是0;
四则运算
右结合性
本来就是0嘛
结合方向右右向左
a=5
a*=a=25;
a-=(a*=a)=25-25=0;
a+=(a-=(a*=a))=0+0=0;
a=25;
a-=a; a=a-a=25-25=0;
a+=a; a=a+a=0+0;
a+=a-=a=a*a
a-=a*a=>a=a-a*a=5-5*5=-20
a+=a+a=-20-20=-40
问C语言,若a是int型变量
C语言中变量a=0与a==0的区别
在c语言中 若有说明语句:int a,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是?
C语言 赋值表达式运算,设a初始值为12,a/=a+a,求a的值为?
已知a,b,c为整数,且a+b=2008,c-a=2007.若a<b,则a+b+c的最大值为
以知a.b,c为整数,且a+b=2006,c-a=2005.若a<b,则a+b+c的最大值为( )
已知a,b,c为整数,且a+b=2007,c-a=2005若a<b则a+b+c的最大值为多少
假设整型变量a,b,c的值均为5,则表达式a+++b+++c++的值为(急啊!)
设A、B、C为逻辑变量,试回答:
设直角三角形的三边分别为a,b,c,若c-a=b-a>0,则(c-a)/(c+a)=?