0
点赞
收藏
分享

微信扫一扫

C语言学习--字符串

字符串

“hello\n”

​像这种由双引号引起来的一串字符称为字符串字面值,简称字符串。

注:字符串的结束标志是一个\0的转义字符。在计算字符串长度的时候\0是结束标志,不算作字符串内容。

int main()
{
char arr1[]="abc";
char arr2[]={'a','b','c'};
printf("%s\n",arr1);
printf("%s\n",arr2);
return 0;
}

为什么会输出这样的结果?

C语言学习--字符串_字符串长度

arr1数组“abc”字符串里边包含'a','b','c','\0',arr2数组中没有结束标志\0系统会默认打印随机值。

int main()
{
char arr1[]="abc";
char arr2[]={'a','b','c'};
printf("%d\n",strlen(arr1));
printf("%d\n",strlen(arr2));
return 0;
}

我们通过这样的代码来计算字符串的长度,为什么两个代码的大小不一样?

C语言学习--字符串_字符串_02

因为在计算字符串长度时arr1数组中包含abc和\0,但\0不会算作字符串内容,所以我们得到的结果是3。然而arr2数组中并没有字符串结束标志,所以系统会不断地进行计算直至随机碰到\0结束。


举报

相关推荐

0 条评论