程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c語言-C語言二維數組下標越界--卻能給越界的下標賦值 和輸出

c語言-C語言二維數組下標越界--卻能給越界的下標賦值 和輸出

編輯:編程綜合問答
C語言二維數組下標越界--卻能給越界的下標賦值 和輸出

編譯器:dev-c++

  int iArray[3][4];
iArray[3][4]=1000;
printf("%d",iArray[3][4]);

改變 iArray[3][4]的值為1000 輸出的結果仍然為1000 請問這個是什麼原因呢?
我是直接給越界的下標進行了賦值 以前以為只要是下標越界了 輸出的都是無意義的數字 其實那是因為沒有給越界的下標賦值 對嗎 越界的下標為什麼還能正常使用呀

最佳回答:


使用越界的數組元素是不安全的,因為系統分配給你的最後一個元素是iArray[2][3];
iArray[3][4]不是系統分配給你的空間,你賦值了,如果該空間是別的程序使用了,就會造成沖突。
所以該空間被你偷著用了,會不會出錯,就看你的運氣了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved