官术网_书友最值得收藏!

1.15 ++i與i++的區(qū)別

在編程的時候,經(jīng)常會用到變量的自增或自減操作,尤其在循環(huán)中用得最多。以自增為例,有兩種自增方式:前置與后置,即++i和i++,它們的不同點(diǎn)在于,i++是在程序執(zhí)行完畢后自增,而++i是在程序開始執(zhí)行前進(jìn)行自增。如下例所示:

程序運(yùn)行結(jié)果為:

上例中的程序運(yùn)行結(jié)果讓很多讀者感覺不解,其實(shí)稍作分析,問題便迎刃而解了。表達(dá)式i+++i++首先執(zhí)行第一個i++操作,由于自增操作會稍后執(zhí)行。因此,運(yùn)算時i的值還是1,但自增操作后,i的值變?yōu)?,接著執(zhí)行第二個i++,運(yùn)算時,i的值已經(jīng)為2,而執(zhí)行了一個自增操作后,i的值變?yōu)?,所以i+++i++=1+2=3,而運(yùn)算完成后,i的值變?yōu)?。

表達(dá)式i++ + ++i首先執(zhí)行第一個i++,但是自增操作會稍后執(zhí)行。因此,此時i的值還是3,接著執(zhí)行++i,此時i的值變?yōu)?,同時還要補(bǔ)執(zhí)行i++的自增操作,因此此時i的值變?yōu)?,所以i+++++i=3+5=8。

同理,i+++i+++i++=5+6+7=18。

主站蜘蛛池模板: 依安县| 攀枝花市| 洪雅县| 屏南县| 洪湖市| 林周县| 吴桥县| 德庆县| 黔南| 西乌珠穆沁旗| 福贡县| 化德县| 金湖县| 台前县| 深水埗区| 阜新| 开鲁县| 岢岚县| 福海县| 宁南县| 宜黄县| 六安市| 二连浩特市| 南安市| 阿合奇县| 永城市| 内丘县| 七台河市| 绥宁县| 古浪县| 霍城县| 宁河县| 寻甸| 忻州市| 达日县| 义乌市| 汝城县| 姚安县| 伊宁县| 密云县| 阿克陶县|