strlen的作用是求\0之前的字符串长度,需要在头文件string.h中使用
sizeof的作用则是计算数组的长度,我们如果求字符串的长度的话会多读个\0
#include "stdio.h"
#include "string.h"
int main()
{
char arr[5]="abcd";
char arr1[]={'a','b','c'};
printf("%d %d\n",sizeof(arr),strlen(arr));//strlen求\0前字符串长度
printf("%d %d",sizeof(arr1),strlen(arr1));//sizeof计算数组
}
输出结果如下
5 4
3 8Press any key to continue
这里有人就会问了为什么会输出8
因为在字符单个输出的时候没有\0所以输出了随机数