char A[ ]={"I am a student"}; 该字符串的长度是 14 ,A[3]= m 为什么
问题描述:
char A[ ]={"I am a student"}; 该字符串的长度是 14 ,A[3]= m 为什么
答
说字符串A的长度是14严格来说不正确
执行的时候会在A变量内存储"I am a student\0",
自动增加一个结尾字符
A占用了15个字符内存
A[0]='I'
A[1]=' ' 空格
A[2]='a'
A[3]='m'
...
A[13]='t'
A[14]='\0' 结尾
sizeof(A)=15 计算的时候会把结尾'\0'一起计入
strlen(A)=14 计算的时候不会把结尾'\0'计入
看见了A[3]='m',就是m字符,数组下标是从0开始的