字符串--用""括起来的一串字符
如代码1
#include<stdio.h>
int main()
{
char arr[] = "hello";
printf("%s\n", arr);
return 0;
}
结果:hello
注意:字符串的结束标志为\0的转义字符,在计算字符串长度时\0是结束标志,不能算字符串的内容。
以代码1为例,通过监视工具,输入arr可查得:
arr
[0]--'h'
[1]--'a'
[2]--'l'
[3]--'l'
[4]--'o'
[5]--\0
代码2
#include<stdio.h>
int main()
{
char arr1[] = "abc";
char arr2[] = { 'a','b','c' };
char arr3[] = { 'a','b','c' ,'\0'};
printf("%s\n", arr1);
printf("%s\n", arr2);
printf("%s\n", arr3);
return 0;
}
结果:abc
abc烫烫烫烫烫烫烫烫烫烫烫烫烫烫蘟bc
abc
由代码2可知,当没有使用\0结束代码时,会一直运行并且一直运行到\0结束,而在以标明的字符串运行完后,为标明的字符串为乱码
代码3--计算字符串的长度//strigth length
#include<stdio.h>
int main()
{
int len = strlen("abc");
printf("%d\n",len);
return 0;
}
结果:3
代码4
#include<stdio.h>
int main()
{
char arr1[] = "abc";
char arr2[] = { 'a','b','c' };
char arr3[] = { 'a','b','c' ,'\0'};
printf("%d\n",strlen (arr1));
printf("%d\n", strlen(arr2));
printf("%d\n", strlen(arr3));
return 0;
}
结果3
35
3
由代码4可知,在没有\0的字符串会一直计算到\0才会停止,通过结论35可知在这串字符串中第36位位\0。