C# 中简单的运算问题

inta=20,b=3,c;c=a++/b;c的值为_.为什么?... int a=20,b=3,c;
c=a++/b;
c的值为_.
为什么?
展开
 我来答
simonzhl
2011-02-12 · TA获得超过289个赞
知道小有建树答主
回答量:120
采纳率:0%
帮助的人:173万
展开全部
c的值应该为 6

解释:
当x++和++x单独占一行时,它们的作用是相同的,对应于语句x=x+1。
x++,会在计算表达式之后递增x——使用x的原值计算表达式。
所以 20/3等于6.66...

但由于最开始声明时,c被声明为int类型,所以将6.66...浮点型强制转换为int型,故舍弃小数部分,变为6。

参考资料: http://hi.baidu.com/simonzhl

miniappcwgg1p8e1w093
2011-02-12 · TA获得超过193个赞
知道小有建树答主
回答量:75
采纳率:0%
帮助的人:108万
展开全部
6.
因为做运算的顺序是
c = a/b 然后a=a+1;
因为c是int所以c=6 (20/3取整)

你可以试验一下如果换成
c=++a/b,结果就是7了,因为运算顺序是a=a+1,c=a/b
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
569372985
2011-02-12 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:163
采纳率:0%
帮助的人:81.1万
展开全部
6
这里关键问题在于那两个加号的位置。要是加号在a的前面答案就是7了。
a++就是先取值后加
++a就是先加后取值
那么a++就是20,那么c就是20/3,而c的数据类型是整数型,那么20/3就想下取整。
a++就是21,自然c就是7了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qdwing
2011-02-12 · 超过26用户采纳过TA的回答
知道答主
回答量:110
采纳率:0%
帮助的人:35.9万
展开全部
你那是个下划线?应该是多少?6.6666...?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式