c语言的题目:设有定义Int a=3,b=4;则表达式a+b,a-b,a--的值为3,答案为什么是3不明白?谢谢

谢谢的!请快点回复我... 谢谢的!请快点回复我 展开
 我来答
清心又谦恭丶布丁9
2009-07-22 · TA获得超过6604个赞
知道小有建树答主
回答量:1247
采纳率:100%
帮助的人:1862万
展开全部
你是说a-- 为什么=3是吧????
a--的职会等于a的值,也就是3,然后因为a--所以表达于以后的a=2.
区别--a=2,然后a=2

区别是最后新的a都会=(原来的)a-1
但是a--会等于原来a的值。
而--a会等于a-1后的值(也就是赋值后的)。
好比这题的a=3.
a--=3,a=2;
--a=2,a=2.

++的时候同理。
412323401
2009-07-22 · TA获得超过162个赞
知道答主
回答量:58
采纳率:0%
帮助的人:52万
展开全部
int a=3,b=4, a+b的结果是7,此时,a仍然=3,b仍然=4.没变
之后,下一个算式a-b结果是-1,此时,a仍然=3,b仍然=4.没变
再下一个 a--, 这个的意思是对a操作后a才减1,但后面没有有关a 的算式,因此,a的值不变,仍然是3.

此题若a--后面有a+b或其他有关a 的算式,则a的值就会减一操作,变为2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
五寒梦sY
2009-07-22 · TA获得超过370个赞
知道小有建树答主
回答量:235
采纳率:0%
帮助的人:241万
展开全部
a--先引用,再赋值,这样讲你会清楚些;

A=a--;这个时候A就等于3,因为先引用,所以先给3,引用完后a就等于2了;
A=a;这个时候A就等于2,因为上面的a已经变成2了,再次遇到赋值语句就会置2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wdz609
2009-07-22 · TA获得超过128个赞
知道小有建树答主
回答量:120
采纳率:0%
帮助的人:141万
展开全部
我就知道表达式a--的值为3:因为--在后面会导致先引用再--,所以如果有:
int c = a--;则c=3,a=2。
如果是--a,则是先--,再引用。即int c = --a;则c=2,a=2.
同样,++ 也是这样。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d821facbb
2009-07-22 · TA获得超过785个赞
知道小有建树答主
回答量:430
采纳率:0%
帮助的人:365万
展开全部
你用的c版本计算的时候结果输出最后一个,而且因为结果应该是a--,即a先输出结果再做减1,所以就是3了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式