a++ 和++a 犯迷糊啊
這個(gè)有點(diǎn)犯迷糊呀 a=100; printf(“%d\n”,a++); 結(jié)果怎么會(huì)是100呢 ?難道不應(yīng)該+1嗎 雖說(shuō)a++ 是先取值后運(yùn)算 我的理解還是應(yīng)該是101才對(duì)呀 ?求解釋呀?????
這個(gè)有點(diǎn)犯迷糊呀 a=100; printf(“%d\n”,a++); 結(jié)果怎么會(huì)是100呢 ?難道不應(yīng)該+1嗎 雖說(shuō)a++ 是先取值后運(yùn)算 我的理解還是應(yīng)該是101才對(duì)呀 ?求解釋呀?????
2015-01-23
舉報(bào)
2015-07-06
a=100;?printf(“%d\n”,a++);實(shí)際等價(jià)與?printf(“%d\n”,a);??? a++;
?如果你再?gòu)膒rintf(“%d\n”,a++);后加一個(gè)?printf(“%d\n”,a);這時(shí)你就可以看到輸出結(jié)果 100?? 101
2015-02-23
如圖所示,剛開(kāi)始輸出的是a++,那么輸出的值就是當(dāng)前a的值即100,但a的值發(fā)生了改變,a=a+1,此時(shí)輸出a的值,就變成了101.
2015-01-23
對(duì)于a++來(lái)說(shuō),它會(huì)把值存到寄存器中,然后用的時(shí)候都用那個(gè)寄存器里面的值,然后它自身是加1的。所以不會(huì)對(duì)于打印的結(jié)果是打印的存起來(lái)的那個(gè)值~
2015-01-23
是這樣的 ?, ?把 a 等于100輸出了 , ?再加 1 , ?a 變成 101 了 ?, 你下來(lái)輸出 a 就是 101 了 ?,