10个回答
展开全部
首先,等号是右结合,故先算x+++x,再复制给y;+是左结合且优先级比++低,故先算x++;x++结果是1,但运算完后x自增变为2。具体过程如下:
1、t = x++ = 1( 结束后t=1, 但x = 2);
2、t2 = t+x = 1 + 2 = 3;
3、y = t2 = 3.
即 y = 3
1、t = x++ = 1( 结束后t=1, 但x = 2);
2、t2 = t+x = 1 + 2 = 3;
3、y = t2 = 3.
即 y = 3
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1 y=x+++x表示y=(x++)+x,y等于x的两倍后,x的值加1。
2 若x=1,则y=2
2 若x=1,则y=2
更多追问追答
追问
为什么不是y=x+(++x)?
追答
这是运算符优先级决定的,++是单目运算符,优先级高于+。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
自加与自减运算符的结合方向是自右向左,且其优先级别高于加法运算,故实际此式子可以表示为z=x++(此次在y=x+++x式中,运算完成后x值增加1,在这个式子中x值是不变的);y=x+x;若x=1,则y=1+1=2;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1+2=3;
可以这么理解:
(x++)+x;括号里的表达式的值为1,然后x自加1,这时括号外面的 x 值变2
可以这么理解:
(x++)+x;括号里的表达式的值为1,然后x自加1,这时括号外面的 x 值变2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询