java中,设x=2,则表达式 (x++)*3的值是多少

 我来答
宏芮欢红用
2019-11-24 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:26%
帮助的人:594万
展开全部
(x++)*3
编译器是这么编译的,首先把表达式翻译成:2*3
,等到表答式计算结束后再执行X=X+1.
也就是说执行后表达式值为6,但是X为3.
假设说是(++x)*3
那么编译器就会这么编译,首先吧X=X+1算出来,然后代入你所谓的表达式也就是为3*3.
那么这样的话表达式执行后为9
X为3
编译器如果在表达式的计算过程中来对x自加一的话,编译器的翻译起来就非常的困难.
所以int
i
=
(++x)*3;
实际上在编译器里就是这么走的:
x
=
x+1;
i
=
x*3;
宰父斯琪宫勤
2019-05-19 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:27%
帮助的人:710万
展开全部
是6,如果是
++x就是
9
原因
x++是先用原来的值运算
后赋值
++x先给x自增,再运算
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
犹慕金清妍
2019-06-09 · TA获得超过3547个赞
知道大有可为答主
回答量:3033
采纳率:31%
帮助的人:454万
展开全部
(
x
+
+
)/3结果相当于2/3,如果x定义为int,则结果为0
后自增就是先计算,然后再自增
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
繁翊夏侯铭
2020-02-06 · TA获得超过3777个赞
知道大有可为答主
回答量:3056
采纳率:25%
帮助的人:163万
展开全部
万斗司
正解,受教了。
x
=
2;
result
=
x/3
;
//
result
=2/3
=
1
x
=
x+1;
//x=2+1=3
程序的实际运行过程是这样的.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式