编程,int a=6; a+=a-=a*a++ 的值?

 我来答
金色潜鸟
2016-01-20 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5535万
展开全部
-60 (或者 是 -59)
a++ 是后缀加,表达式里 用 原值6,出了表达式再自增 1
程序拆成:
a=a-a*a; 这步 得 a = 6-6*6 = -30
a = a+a; 这步得 a = -30 + (-30) = -60
出了表达式再自增 1, 即 a=a+1; a = -60 + 1 = -59.

若输出:
int a=6;
printf("%d\n", a+=a-=a*a++); 得 -60. (原因是后缀加,未出表达式 不自增1)
若输出:
int a=6;
a+=a-=a*a++;
printf("%d\n",a); 得 -59 (原因是 后缀加,出了 表达式 要自增1)
patrick314
2016-01-20 · TA获得超过432个赞
知道小有建树答主
回答量:468
采纳率:0%
帮助的人:311万
展开全部
//此题考察是否熟练掌握表达式的优先级 
//1、计算自增1
//2、计算乘法运算
//3、计算减法
//4、计算加法

结果等于:-35

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
响亮的1990
2016-01-20 · TA获得超过316个赞
知道小有建树答主
回答量:292
采纳率:0%
帮助的人:86.5万
展开全部
return a 的话就是42 猜的对不
更多追问追答
追问
哎好像答案是  -59
能讲一下具体过程吗?答案也可能是错的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式