找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2214|回復: 0
打印 上一主題 下一主題
收起左側(cè)

真假死循環(huán)

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:127496 發(fā)表于 2016-6-20 23:12 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
這有個簡單的小程序:

#include
<stdio.h> 
void main(void) { 
    int i, b[10]; 
    for (i=0;i<=10;i++) { 
        b[i] = 0; 
    }
}


對于這個程序,你認為它的運行結(jié)果是? (  )

A.一切正常  B.下標越界  C.死循環(huán)




實際上,結(jié)果是“C”。納悶嗎?
原因是指針“i”在賦值為10時,由于超過了數(shù)組B的長度,于是指針繼續(xù)偏移向下一位。而這次賦值就不在數(shù)組B里面了,而是將“i”(因為i在內(nèi)存中緊跟在數(shù)組之后)賦值為0 。。于是你看到了,它死機了。。
所以,很多時候,高級語言不一定能解決所有問題。。只因為你看不到底層。因此,即使作為現(xiàn)代程序員(面向?qū)ο缶幊蹋,學習匯編(面向機器編程)也是有必要的。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表