字符串
“hello\n”
像这种由双引号引起来的一串字符称为字符串字面值,简称字符串。
注:字符串的结束标志是一个\0的转义字符。在计算字符串长度的时候\0是结束标志,不算作字符串内容。
int main()
{
char arr1[]="abc";
char arr2[]={'a','b','c'};
printf("%s\n",arr1);
printf("%s\n",arr2);
return 0;
}
为什么会输出这样的结果?
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;
}
我们通过这样的代码来计算字符串的长度,为什么两个代码的大小不一样?
因为在计算字符串长度时arr1数组中包含abc和\0,但\0不会算作字符串内容,所以我们得到的结果是3。然而arr2数组中并没有字符串结束标志,所以系统会不断地进行计算直至随机碰到\0结束。