一、字符串
1、什么是字符串
字符:‘a’ ‘@’
字符串:“abc” “hello world”
这种由双引号引起来的一串字符称为字符串字面值,或者简称字符串。
注:字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串内容。
2、举个例子
#include<stdio.h>
#include<string.h> //strlen函数的头文件
int main()
{
char arr1[] = "abc";
char arr2[] = { 'a', 'b', 'c',};
printf("%d\n", strlen(arr1)); //输出3
printf("%d\n", strlen(arr2)); //输出随机值
printf("%s\n",arr1);
printf("%s\n",arr2);
return 0;
}
这样写的话打印结果会完全不一样,打印结果如图:
为什么第二个arr2abc后面会打印出这么多文字呢?
这是因为arr1中字符串abc后面隐藏一个\0结束标志,而arr2中是三个字符没有\0,因此要它停下来需要往后寻找,所以产生随机值。如何修改呢,就是要在后面添加一个\0,来表示结束位。
#include<stdio.h>
#include<string.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));
printf("%s\n", arr1);
printf("%s\n", arr2);
printf("%s\n", arr3);
return 0;
}
结果如图: