程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 緩沖區-C語言數組溢出問題求指點

緩沖區-C語言數組溢出問題求指點

編輯:編程綜合問答
C語言數組溢出問題求指點

#include
#define N 5
main()
{
int i,a[N];
for(i=0;i<N;i++) a[N]=i;
for(i=0;i<N;i++) printf("%5d",a[N]);
printf("\n");
}

在第六行 警告 1 warning C4789: 緩沖區“a”(大小為 20 字節)將溢出;4 字節將在偏移 20 時開始寫入

Run-Time Check Failure #2 - Stack around the variable 'a' was corrupted.

可是運行時有結果啊 4 4 4 4 4 而且是正確的,這是為什麼呢?為什麼會溢出呢?損壞的到底是什麼空間?

最佳回答:


a[5]說數組裡面有5個元素,分別是a[0]、a[1]、a[2]、a[3]、a[4].
a[5]這個元素不存在

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