ardim
-
a=-12。
赋值语句,从右到左依次运行:
那么:int a=3;
a+=a-=a*a;
相当于:
1.a-=a*a;
2.a+=a;
相当于:
1.a=a-a*a;
2.a=a+a;
由于a初始化为3:
1.a=a-a*a=3-3*3=-6;
2.a=a+a=-6+(-6)==-12;
扩展资料:
先计算a*a=9,此时a=3,没变。a的最终值为-12。
a的最终值为-12。#include<stdio.h>
intmain()
{
inta,min,max,mid;/*定义变量*/
scanf("%d%d%d"&a,&b,&c);/*读取输入变量*/
min=a<b&&a<a:(b<b:c);
/*取最小值.a<b&&a<a:(b<b:c);是c语言中唯一的三目运算的两次叠加.最外层确定是否a是最
小值.是则min=a;否则运算b<b:c表达式.表达式表示取bc中的最小值.下同*/
max=a>b&&a>a:(b>b:c);
mid=a+b+c-min-max;
printf("mintomax:%d%d%d "min,mid,max);
return0;
}。
豆豆staR
-
赋值语句,从右到左依次运行:
那么:int a=3;
a+=a-=a*a;
相当于:
1.a-=a*a;
2.a+=a;
然后相当于:
1.a=a-a*a;
2.a=a+a;
由于a初始化为3:
1.a=a-a*a=3-3*3=-6;
2.a=a+a=-6+(-6)==-12;
所以最后结果就是-12
拓展资料:
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
C语言赋值语句从右往左开始算,下面是赋值运算符的优先级:
再也不做站长了
-
a为-12。
分析:+=和-=运算符会计算符号右边的表达式值,加(减)到左边的变量后返回该变量的引用,因此该表达式应该分解为:
a-=a*a,相当于a-=9,得到a=-6。此时返回了a的引用;
a+=a,此时a=-6,算完后a=-12。
因此最后a的值应该为-12。
实际测试图:
扩展资料:
算术自反赋值运算符,包括加赋值+=、减赋值-=、乘赋值*=、除赋值/=、模赋值%=等。运算符左侧运算对象为是变量,右侧运算对象为表达式。其计算方式是计算右侧表达式后,和左侧变量进行相应运算,将结果赋给左侧变量。
兔狮喵
-
先计算a*a=9,此时a=3,没变。a的最终值为-12。
a的最终值为-12。#include<stdio.h>
intmain()
{
inta,min,max,mid;/*定义变量*/
scanf("%d%d%d"&a,&b,&c);/*读取输入变量*/
min=a<b&&a<a:(b<b:c);
/*取最小值.a<b&&a<a:(b<b:c);是c语言中唯一的三目运算的两次叠加.最外层确定是否a是最
小值.是则min=a;否则运算b<b:c表达式.表达式表示取bc中的最小值.下同*/
max=a>b&&a>a:(b>b:c);
mid=a+b+c-min-max;
printf("mintomax:%d%d%d "min,mid,max);
return0;
}。
拓展资料:
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
大鱼炖火锅
-
c语言中,计算的顺序,大多是从右向左的.
上机试之后,结果总是0;
#include
using namespace std;
int main()
{
double a;
cout
拓展资料:
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
穆武唐宁
-
a最后的值为-12
a+=a-=a*a
的计算顺序为先计算a*a 结果为9
然后计算 a-=a*a 也就是 a-=9 这是一个符合赋值表达式 相当于 a=a-9 ,a的值变成-6,同时表达式的返回值为-6
然后计算a+=(a-=a*a)
也就是a+=-6 即 a=a+-6
a的值为-12
北有云溪
-
-12,然后运算符的优先级,*比+=还有-=高,所以先算a*a=9,然后+=,-=的结合性是从右到左,先a-=9,就是a=a-9,a变成-6,最后计算a+=a,就是a=(-6)+(-6),最后a=-12。编译器也已经编译,没有问题。如果有疑问请追问,满意请采纳,谢谢
陶小凡
-
a最后的值为-12
a+=a-=a*a
的计算顺序为先计算a*a 结果为9
然后计算 a-=a*a 也就是 a-=9 这是一个符合赋值表达式 相当于 a=a-9 ,a的值变成-6,同时表达式的返回值为-6
然后计算a+=(a-=a*a)
也就是a+=-6 即 a=a+-6
a的值为-12
u投在线
-
a=a*a; a=9
a=a-a; a=0
a=a+a; a=0
谭浩强看多了
根据编译器不同会不同
所以一般写程序不会这么写
所以你就别研究了大哥
相信你看见有很多人这么说
那我就不多说了
88
黑桃花
-
我用Dev C运行后 答案为:-12
先算a*a=9,然后因为+=,-=是从右往左的优先级,所以依次为a-9=-6(此时a变为-6),接着a+a=-6+-6=-12
西柚不是西游
-
确实是-12,编译运行下就出来了,楼上的解释也是对的,答案是12就是答案错了,不要盲目相信答案,有疑问自己动手检验下就行了
gitcloud
-
a=-12
赋值运算是从右算起的双目运算符。
a-=a*a 即a=a-a*a=3-3*3=-6
a+=a 即a=a+a=-6+(-6)=-12
北营
-
-12
a+=a-=9;
a+=3-9=-6(之前a未被重新赋值)
a=-6-6=-12(前面a被重新赋值)
蓦松
-
你这是干啥嘛
-
int a =3;
a+=a-=a*a;
最后 a=0