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\n"min,mid,max);
return0;
}。