每日一题(43)—— 数组越界
生活随笔
收集整理的這篇文章主要介紹了
每日一题(43)—— 数组越界
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
下面這個程序執行后會有什么錯誤或者效果:
#define MAX 255 int main() {unsigned char A[MAX],i;for (i=0;i<=MAX;i++){A[i]=i;} }
解答:死循環加數組越界訪問(C/C++不進行數組越界檢查)
MAX=255
數組A的下標范圍為:0..MAX-1,這是其一..
其二.當i循環到255時,循環內執行:
A[255]=255;
這句本身沒有問題..但是返回for (i=0;i<=MAX;i++)語句時,
由于unsigned char的取值范圍在(0..255),i++以后i又為0了..無限循環下去.
總結
以上是生活随笔為你收集整理的每日一题(43)—— 数组越界的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle数据库时分秒格式_Oracl
- 下一篇: 从0开始学习WBE前端