今天在調(diào)式代碼時(shí)發(fā)現(xiàn)了一個(gè)問(wèn)題。
          for (int i=0;i<5 ;i++){}與for (int i=0;i<5 ;++i){}
          是一樣的。
          在書(shū)本上,++i是先自加,i++是后自加。
          int i = 0
          int x = i++
          很明顯x得到的值是0,然后i自加的值是1。
          int i = 0;
          int x = ++i;
          這一段中x的值為1。
          問(wèn)題處在哪里呢?
          原來(lái)是for循環(huán)的執(zhí)行過(guò)程上有些不同。
          例如:for(exp 1;exp 2; exp 3){ exp 4;}
          它的過(guò)程是這樣的,首先循環(huán)是執(zhí)行exp 1,完成它的初始化,再判斷exp 2是否為真,若為真,則執(zhí)行循環(huán)體exp 4,執(zhí)行完后再回到exp 3,計(jì)算并修改循環(huán)條件,第一輪循環(huán)就結(jié)束了。第二輪的開(kāi)始是從exp 2開(kāi)始,若為真,繼續(xù)執(zhí)行exp 4,然后回到exp 3。當(dāng)再次進(jìn)入exp 2時(shí),表達(dá)式為false,跳出循環(huán)體。
          問(wèn)題就是出在這里,exp 3相當(dāng)與一個(gè)計(jì)數(shù)器的工作,當(dāng)執(zhí)行完畢后exp 3無(wú)論是++i還是i++,其結(jié)果都是一樣的。
          posted on 2007-10-30 15:59 湘江夜游神 閱讀(134) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           

          Locations of visitors to this page

          主站蜘蛛池模板: 乃东县| 松溪县| 仪陇县| 万载县| 台中县| 社旗县| 江山市| 乌兰浩特市| 迁安市| 祁门县| 靖安县| 大埔县| 儋州市| 奉化市| 长汀县| 五大连池市| 安图县| 尼玛县| 晴隆县| 宜春市| 富锦市| 东乡| 永兴县| 东莞市| 台前县| 阳信县| 弥渡县| 林西县| 祁门县| 翁源县| 武川县| 怀宁县| 衡阳县| 揭阳市| 大理市| 旬邑县| 剑阁县| 德昌县| 重庆市| 宜宾县| 崇仁县|