字符串
字符串就是一串字符-用双引号括起来的一串字符
int main()
{
"abcdyf";
"hello";
return 0;
}
字符串的结束标志是\0的转义字符。在计算字符串长度的时候\0是结束标志,不算字符串内容。
int main()
{
//字符串在结尾位置隐藏了一个\0的字符
//\0是字符串结束的标志
//即在下述hello的后面还隐藏一个\0
char arr[]="hello";
return 0;
}
int main()
{
char arr1[]="abc";
char arr2[]={'a','b','c'};
//打印字符串
printf("%s\n",arr1);
printf("%s\n",arr2);
return 0;
}
上述程序的字符串的结果是不同的,
因为arr1属于字符串在结尾隐藏\0,
而arr2不属于字符串,结尾没有\0,
但在arr2数组中加上'\0'则和arr1结果一样,如
char arr2[]={'a','b','c','\0'};
所以两个结果是不同的(建议自己试试)
求字符串长度
求字符串长度需要运用strlen()
即
#include<string.h>
int main()
{
char arr1[]="abc";
char arr2[]={'a','b','c'};
printf("%d\0",strlen(arr1));
printf("%d\0",strlen(arr2));
retrun 0;
}
结果为
3
随机值
因为\0是结束标志,
不算字符内容,
所以arr1的结果为3
而arr2因为没有\0,
则会一直往后计算字符长度,直到遇到\0,
所以arr2的结果为随机值,
当加上\0时,arr1和arr2结果相同