程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c++-關於字符串數組的長度問題

c++-關於字符串數組的長度問題

編輯:編程綜合問答
關於字符串數組的長度問題

#include
using namespace std;

int main()
{
int length;
char onearray[6] = {'a','d','r','y','b'};
length = strlen(onearray);
cout << "the length of the array is:" << length << endl;
return 0;
}

如果數組是onearray[5] 則輸出的結果15
但是如果數組的下標大於五輸出的結果就是5這是為什麼?

最佳回答:


你還是不知道strlen函數的用法以及它的內部實現,strlen函數獲取字符數組長度的底層是找到第一個\0才算為止(當然字符串末尾有'\0',則另當別論)
。你的char類型數組是在棧上的,你可以去調試看看內存,看看最後一個字符'b'的後面是什麼字符,若果不是'\0'就一直往後看,直到找到'\0',算一下
就可以得到你的答案了...

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