字符串所占的字节数都是8个吗?"a", "I am a student"所占字节数相同吗?注:真心
发布网友
发布时间:2022-05-01 20:44
我来回答
共1个回答
热心网友
时间:2023-10-25 05:24
不是8个。对于你给的第二个,说字符串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开始的。
如果你只想知道长度,那就用strlen,那就是“a”长度为1,后者为14
热心网友
时间:2023-10-25 05:24
不是8个。对于你给的第二个,说字符串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开始的。
如果你只想知道长度,那就用strlen,那就是“a”长度为1,后者为14
热心网友
时间:2023-10-25 05:24
不是8个。对于你给的第二个,说字符串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开始的。
如果你只想知道长度,那就用strlen,那就是“a”长度为1,后者为14