[問題] 陣列自動擴充?

看板C_and_CPP作者 (wi)時間15年前 (2010/11/15 12:17), 編輯推噓3(305)
留言8則, 4人參與, 最新討論串1/1
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 遇到的問題: (題意請描述清楚) 陣列一開始宣告int a[5] 但最後跑完a[5]可以PRINTF出直 希望得到的正確結果: 應該在a[5]是錯誤的數值 程式跑出來的錯誤結果: 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) WINDOWS XP,DEV-C++ 有問題的code: (請善用置底文標色功能) http://nopaste.csie.org/a242d 補充說明: -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.125.20.180

11/15 12:21, , 1F
看不懂你的意思
11/15 12:21, 1F

11/15 12:25, , 2F
你要不要比一下i跟a[5]的位址...
11/15 12:25, 2F

11/15 12:28, , 3F
超出陣列存取並不代表答案一定是錯的
11/15 12:28, 3F

11/15 12:28, , 4F
也許碰巧會對 但有可能出錯 這樣而已
11/15 12:28, 4F

11/15 13:00, , 5F
我上面講錯了,i的位址比a[0]低,a[5]可能是放compiler
11/15 13:00, 5F

11/15 13:01, , 6F
對齊用的空間,或是frame pointer
11/15 13:01, 6F

11/15 13:50, , 7F
謝謝大家了,我剛剛嘗試一下是跑出位置了
11/15 13:50, 7F

11/15 13:50, , 8F
dev-c++可以跑得過,我用codeblock就會出現錯誤了
11/15 13:50, 8F
文章代碼(AID): #1CuBHBPx (C_and_CPP)