• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            C++編程失樂園

            致力于解決論壇的不足,探討C++的原理

            C/C++隨筆 之 一個有趣的C循環問題

            void main()
            {
            ?int i;
            ?int a[10];
            ?for(i = 0;i <=10;i ++)
            ??a[i] = 0;
            }
            大家看,很簡單的一個問題,但是為什么會一直執行呢?
            明顯,聰明的你看出問題出現for(i = 0;i <= 10;i ++)???a[i] = 0;
            總共定義了10個int,明顯循環超出了范圍,
            下面我們就來看看其匯編如何運行,大家就都明白了.
            00401031?? mov???????? eax,dword ptr [ebp-4]
            00401034?? add???????? eax,1
            00401037?? mov???????? dword ptr [ebp-4],eax
            0040103A?? cmp???????? dword ptr [ebp-4],0Ah
            0040103E?? jg????????? main+3Dh (0040104d)
            00401040?? mov???????? ecx,dword ptr [ebp-4]
            00401043?? mov???????? dword ptr [ebp+ecx*4-2Ch],0
            0040104B?? jmp???????? main+21h (00401031)
            程序一直在00401031-0040104B之間運行,問題出在00401043上面,
            i變量在dwort ptr[ebp-4]
            那么當執行到i =10
            dword ptr[ebp + ecx*4-2cH]= dword ptr[ebp+dword ptr[ebp-4]*4-2ch]
            =dword ptr[ebp + 10*4-44] = dword ptr[ebp-4]
            哈哈,i變成了0

            posted on 2006-12-25 12:41 木木頭 閱讀(236) 評論(2)  編輯 收藏 引用 所屬分類: C++特性

            評論

            # re: 一個有趣的C循環問題 2006-12-25 13:04 pengkuny

            不懂,是否一定要學匯編  回復  更多評論   

            # re: 一個有趣的C循環問題 2006-12-25 13:20 Dain

            這是數組是按照升序存放的,使得i的地址與a[10]的地址相同
            輸出它們的地址就知道怎么回事了  回復  更多評論   

            導航

            <2006年12月>
            262728293012
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            統計

            常用鏈接

            留言簿(3)

            隨筆分類(29)

            搜索

            最新隨筆

            最新評論

            性做久久久久久久| 久久91精品久久91综合| 伊人久久五月天| 五月丁香综合激情六月久久| 亚洲午夜精品久久久久久人妖| 久久久噜噜噜久久| 日本欧美久久久久免费播放网| 久久99精品久久久久久hb无码| 久久九九精品99国产精品| 91超碰碰碰碰久久久久久综合| 国产精品无码久久四虎| 国内精品久久久久影院老司| 午夜精品久久久久久毛片| 99久久国产综合精品网成人影院| 欧美成a人片免费看久久| 青草国产精品久久久久久| 狠狠久久亚洲欧美专区| 午夜精品久久久久久| 麻豆AV一区二区三区久久| 成人精品一区二区久久| 狠狠色狠狠色综合久久| 青青青国产成人久久111网站| 一本综合久久国产二区| 久久Av无码精品人妻系列| 欧美久久一级内射wwwwww.| 精品久久久久久久久久久久久久久| 久久国产精品视频| 久久亚洲精品无码aⅴ大香 | 久久99热这里只有精品国产| 99久久久国产精品免费无卡顿| 日本精品久久久久影院日本| 久久久无码精品亚洲日韩按摩 | 99久久无色码中文字幕人妻| 久久久久综合国产欧美一区二区| 亚洲女久久久噜噜噜熟女| 久久久久黑人强伦姧人妻| 久久99免费视频| 久久久一本精品99久久精品88| 久久精品人妻中文系列| 午夜精品久久久久成人| 久久天天躁狠狠躁夜夜av浪潮 |