C语言中: a+=a-=a*a 这个错在哪里? 为什么?求详解。 期待高手回答~ 40

首先这个表达式在编译的时候是能够通过的(VC++2008),但是这个表达式其实是不正确的,但是到底错在什么地方我目前还不知道期待有高手能回答~... 首先 这个表达式在 编译的时候是能够通过 的(VC++2008),但是这个表达式其实是不正确的 ,但是到底错在什么地方 我目前还不知道 期待有高手能回答~ 展开
 我来答
xoalyg
2011-08-31 · TA获得超过4178个赞
知道大有可为答主
回答量:2356
采纳率:100%
帮助的人:2380万
展开全部
a += a -= a*a;
这样写是没错的,注意到+和=之间不能有空格,否则就不能通过编译,同样,-和=之间也不能有空格,这是因为+=、-=、*=、/=等是一个整体。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tangli0604
2011-09-01
知道答主
回答量:48
采纳率:0%
帮助的人:15.5万
展开全部
这样写没有错啊,我在哪里好像见到过这样的题。
a= 3
a+=a-=a*a;
问此时a的值。

其实以上等价于
int a,b;
a= 3;
b = a*a;
a = (a-b);
a = a+a;
所以a值为-12.
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hanguojun3551
2011-09-01
知道答主
回答量:13
采纳率:0%
帮助的人:15.9万
展开全部
看看是不是语法错误,应该是不是这句旁边有什么符号错误啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
117911510yxwas
2011-09-02 · TA获得超过103个赞
知道答主
回答量:73
采纳率:0%
帮助的人:17.9万
展开全部
表达式没问题,你理解的问题,从右往左看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ningzhanma1227
2011-08-31 · TA获得超过255个赞
知道小有建树答主
回答量:112
采纳率:0%
帮助的人:130万
展开全部
这好像是计算机二级的一道选择题吧,从右往左执行推出来就行,实际程序中不会这么用的
a+=(a-=(a*a))=2*(a-a*a)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式