我碰到這個代碼就意外:數組分配導致終端掛
#include<stdio.h>
int main()
{
int i;
int array[3];
for(i=0;i<=3;i++)
array[i]=0;
return 0;
}
在運行這段代碼我的終端被吊死 - 代碼沒有終止。
當我用替換2
代碼成功運行並終止沒有問題。 在C中沒有對數組進行綁定檢查,那麼導致它不終止的上述代碼有什麼問題?
平臺 - Ubuntu的10.04 編譯器 - GCC
0和3之間有4個數字。但是,數組聲明只有3個元素。 – Dave 2011-12-19 17:35:24
我知道....我的問題是爲什麼這段代碼沒有終止? – 2011-12-19 17:37:00
我也想知道是什麼原因造成的。在任何行爲良好的系統中,試圖編寫其他人的存儲位置會導致程序異常終止,不是嗎? – 2011-12-19 17:41:18