c语言的表达式中 a-=a-5 怎么理解 其中a=1

 我来答
风若远去何人留
2015-10-21 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20403 获赞数:450164
专业C/C++软件开发

向TA提问 私信TA
展开全部
-=是C语言中赋值运算符的一种,调用形式为
a-=b
其功能等效于
a = a-b
所以
a-=a-5会先计算a-5的值,再用a值减去这个值,最终赋值给a。

a-=a-5等效于
a= a-(a-5);
在a=1时,计算结果为
a = 1-(1-5) = 1-(-4) =5;
事实上,从数学运算可以得出,
a-=a-5 = a-(a-5)= a-a+5=5
也就是这个表达式计算后,a的值是恒为5的。
腐烂菠萝
2010-02-08 · TA获得超过169个赞
知道小有建树答主
回答量:130
采纳率:0%
帮助的人:98.4万
展开全部
可以理解成这样的代码
int t=a-5;
a=a-t;

v1-=v2其实就是v1=v1-v2; v1+=v2就是v1=v1+v2
所以a-=a-5就是a=a-(a-5)
执行结果为a=5
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
碧血学生
2010-02-08 · TA获得超过1442个赞
知道小有建树答主
回答量:667
采纳率:0%
帮助的人:382万
展开全部
等号不是等于的意思 是赋值的意思 是给的意思
吧1给A A-5后给A A就变了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1234asdf291
2015-10-06 · TA获得超过452个赞
知道小有建树答主
回答量:1335
采纳率:0%
帮助的人:298万
展开全部
就是 a = a - ( a - 5 )

a -= b其实就是a = a - b
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
白额吊睛大猫
2010-02-08 · 超过31用户采纳过TA的回答
知道答主
回答量:75
采纳率:0%
帮助的人:90.7万
展开全部
a = a - (a - 5)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式