2个回答
展开全部
x=(a++ + ++a)
因为a是全局变量
a++ 表示a用完后再加一 ++a 表示在使用a之前就加一 (这个a还是全局变量的值3)
所以 x= 3 +4 =7
而b是局部变量
y=(b++ + ++b)
b++ b 变成4
++b继续使用上面变化了的b=4
y=( 3+5) =8
因为a是全局变量
a++ 表示a用完后再加一 ++a 表示在使用a之前就加一 (这个a还是全局变量的值3)
所以 x= 3 +4 =7
而b是局部变量
y=(b++ + ++b)
b++ b 变成4
++b继续使用上面变化了的b=4
y=( 3+5) =8
追问
你好,y的值等于8应该是这样来的
先运算++b,让b的值由3变成4,
然后两个b相加 4 + 4 = 8,结果赋值给y,
最后计算b++ b的值变为5
我不清楚的是为什么x那里就不同了
然后我又在VC下试了下,得到的结果都是8
看来是因为编译器的区别造成的
不过还是谢谢你的回答。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询