int a,b=1; a=(b++)+(++b)-(--b);执行后a,b的值各是多少?
2个回答
展开全部
a=1
b=2
(B++,B还是1)+(++B,B就是2)-(--B,B=1)
原理是这样的编译器首先执行括号内,B++是先计算后增1,++B是先增1后计算,B++的时候由于是先计算后增加所以B的值还是1,然后编译++B这个是先增1后计算,B现在的值就是2了,在编译--B,这个原理和++B是一回事,++B过后B的值为2,--B执行过后B的值就是1了,所以A=1
B=2
为什么B=2呢,是因为那个B++,那表达式执行完以后B++的值就增1了,所以B=2
b=2
(B++,B还是1)+(++B,B就是2)-(--B,B=1)
原理是这样的编译器首先执行括号内,B++是先计算后增1,++B是先增1后计算,B++的时候由于是先计算后增加所以B的值还是1,然后编译++B这个是先增1后计算,B现在的值就是2了,在编译--B,这个原理和++B是一回事,++B过后B的值为2,--B执行过后B的值就是1了,所以A=1
B=2
为什么B=2呢,是因为那个B++,那表达式执行完以后B++的值就增1了,所以B=2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询