char A[ ]={"I am a student"}; 该字符串的长度是 14 ,A[3]= m 为什么

2025-12-18 03:20:29
推荐回答(1个)
回答1:

说字符串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开始的