int a=2;a+=a-=-a*a++; a为多少?谢谢

 我来答
百度网友6fe74e2
推荐于2017-10-14 · TA获得超过6593个赞
知道大有可为答主
回答量:1973
采纳率:100%
帮助的人:262万
展开全部
int a=2;
a+=a-=-a*a++;
相当于
int a=2;
a+=a-=-a*a;
a++;
好了,我们来算a+=a-=-a*a;
他又相当于:
a-=-a*a;
a+=a;
又相当于:
a=a-(-a*a);
a=a+a;
再结合之前的a++;
整个a+=a-=-a*a++;
就相当于:
a=a-(-a*a);//a原来值为2,运算完之后 a=2-(-2*2)=6
a=a+a;//a的值已经变成6,运算完之后 a=6+6=12;
a++;//a变成12,再自增1,所以运算完之后 a=13

所以最后a的值是13
更多追问追答
追问
你好,int a=2;a =a-=-a*为什么最后才自增啊,我是这样想的,计算-a*a  这一步时a  为2,此时a自增为3则结果是-6,…最后a为18,是我理解错了吗?
追答
嗯,你理解错了,++在前就先自增,在后就先用再自增。
肯定是13,我刚才还在VS2010上验证过
匿名用户
2013-01-18
展开全部
见谁这么写代码你就拿大嘴巴使劲抽他,抽到他知道拆语句和加括号为止。
追问
考试题,麻烦算一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liming_2080
2013-01-18 · 超过14用户采纳过TA的回答
知道答主
回答量:81
采纳率:0%
帮助的人:33万
展开全部
先拆开表达式为 a = a+(a=(a-(-(a*a)++))=a+(a=7)=7+7=14
1、a=(a-(-(a*a)++))=(2-(-4++))=2-(-5)=7
2、a=a+a=7+7=14;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式