桃子saitao
2015-04-23 14:42
按照a--先赋值再运算的原理,a先赋值是取a=100然后再减1得到的应该是99
而--a则是先自减1后再取值,a也应该是100-1=99在将99赋值给a。
可是答案为什么都是101?
a的值会传递吗?是不是应为上一步中++a的值是102所以--a取值时a的值是102所以a在自减1以后取值为101,而a--是先取值再运算,所以a--取值也为上一步中的101呢?
能不能有哪位给小白详细说明下
这个就要涉及,先赋值还是先运算了,--a是先运算在赋值,a--是先赋值后运算,运算顺序如下
a初始值为100
第一次输出是a++,结果为100,而现在a的值为101
第二次输出是++a,结果为102,a的值也为102
第三次输出是--a,结果为101,a的值也为101
第四次输出是a--,结果为101,而现在a的值为100
第五次输出是a+1,结果为101,而现在a的值为100
最后输出是a,结果当然是100啦
C语言入门
926210 学习 · 20797 问题
相似问题
回答 2
回答 3