--a和a--的疑問
按照a--先賦值再運算的原理,a先賦值是取a=100然后再減1得到的應(yīng)該是99
而--a則是先自減1后再取值,a也應(yīng)該是100-1=99在將99賦值給a。
可是答案為什么都是101?
a的值會傳遞嗎?是不是應(yīng)為上一步中++a的值是102所以--a取值時a的值是102所以a在自減1以后取值為101,而a--是先取值再運算,所以a--取值也為上一步中的101呢?
能不能有哪位給小白詳細(xì)說明下
按照a--先賦值再運算的原理,a先賦值是取a=100然后再減1得到的應(yīng)該是99
而--a則是先自減1后再取值,a也應(yīng)該是100-1=99在將99賦值給a。
可是答案為什么都是101?
a的值會傳遞嗎?是不是應(yīng)為上一步中++a的值是102所以--a取值時a的值是102所以a在自減1以后取值為101,而a--是先取值再運算,所以a--取值也為上一步中的101呢?
能不能有哪位給小白詳細(xì)說明下
2015-04-23
舉報
2015-04-23
這個就要涉及,先賦值還是先運算了,--a是先運算在賦值,a--是先賦值后運算,運算順序如下
a初始值為100
第一次輸出是a++,結(jié)果為100,而現(xiàn)在a的值為101
第二次輸出是++a,結(jié)果為102,a的值也為102
第三次輸出是--a,結(jié)果為101,a的值也為101
第四次輸出是a--,結(jié)果為101,而現(xiàn)在a的值為100
第五次輸出是a+1,結(jié)果為101,而現(xiàn)在a的值為100
最后輸出是a,結(jié)果當(dāng)然是100啦