如题所述
C语言中,字符串常量"1234123"的长度是8,因为C语言要求字符串常量以'\0'结尾,但字符'\0'不能显示。
如果用strlen()函数计算"1234123"长度,返回值为7,因为strlen设计为计算字符串结尾字符'\0'之前的字符个数。
如果用字符串常量初始化字符数组,需要用字符串实际长度,而不能直接用strlen函数的返回值,即:char s[8] = "1234123";如果用char s[7] = "1234123";数组s就溢出了。
如果用strlen()函数计算"1234123"长度,返回值为7,因为strlen设计为计算字符串结尾字符'\0'之前的字符个数。
如果用字符串常量初始化字符数组,需要用字符串实际长度,而不能直接用strlen函数的返回值,即:char s[8] = "1234123";如果用char s[7] = "1234123";数组s就溢出了。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2020-02-25
#include <stdio.h>
#include<string.h>//使用这个函数必须加的头文件;
int main()
{
char a[111];
int l;
printf("请输入字符\n");
scanf("%s",a);//字符串输入;
l=strlen(a);//字符串长度测量函数;
printf("你输入字符串的长度是:%d\n",l);
return 0;
}
希望能帮到你,望采纳;
本回答被网友采纳第2个回答 2020-02-25
"1234123"的长度是7,但存储它需要8个字节的内存。因为字符串的末尾会自动添加'\0'字符。