字符串就是一串字符,用双引号括起来,如"abcdef"、"hello world"
字符串在结尾的位置隐藏了一个\0的字符,\0是字符串的结束标志,但是求字符串长度时,不算\0。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
char arr1[] = "abc";
char arr2[] = { 'a','b','c' };//要想arr也打印出abc,可以改成char arr2[] = {'a','b','c','\0'};
printf("%s\n", arr1); //%s打印字符串
printf("%s\n", arr2);
return 0;
} /*输出结果:abc
abc烫烫烫烫烫烫烫(乱码)*/
//因为字符串的结束有\n,所以打印出abc后结束,而arr2没有结束,还继续打印,直到碰到下一个\n。
求字符串长度:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
char arr1[] = "abc";
char arr2[] = { 'a','b','c' };
int len = strlen("abc"); //strlen求字符串长度
printf("%d\n", len);
printf("%d\n",strlen( arr1));
printf("%d\n", strlen(arr2));
return 0;
}
输出结果:
3
3
33(随机值)//因为没有\0,运行没有停止,直到遇到\0停止,所以为随机值。