看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) dev++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): int x[5] ;//不是指x[0~4] ? 程式碼(Code):(請善用置底文網頁, 記得排版) int x[5]; for(int i=0;i<7;i++) { x[i]=i; cout<<x[i]; } 我只是單純想問...為何這樣能編譯過 還能跑出結果? 因為這樣會有錯覺是x[0~5] -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 120.126.194.175
loveme00835:侵門踏戶了阿 09/21 16:58
ericinttu:compiler表示: 09/21 16:59
shadow0326:未定義行為吧 所以compiler可以do everything it want 09/21 17:00
james732:你跟房東租了五間房,但你去開了第六間,房東是不管的 09/21 17:08
james732:不過第六間房可能是別人的儲藏室,甚至是另外一間公司的 09/21 17:09
james732:你可能會把別人的資料蓋掉、或者發生違規存取 09/21 17:10
james732:總之這種事情是寫程式的人自己要負責的,千萬小心 09/21 17:15
pigcat1315:被問書可以過為何不能用 所以我在想要怎樣解釋比較好 09/21 17:15
james732:就是上面講的,你可能蓋掉其他變數的值,而根本沒發現 09/21 17:16
pigcat1315:了解 謝謝j大的解釋 09/21 17:26
angleevil:謝謝j大 09/21 17:27