#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',算一下
就可以得到你的答案了...