首先sizeof是一个单目运算符,计算的是类型所占空间的大小,而strlen是一个计算字符长度的函数。两者类型不同。
sizeof()在计算时,考虑的是类型所占空间的大小。
strlen()在计算时,是找到'\0'为止,但不包括‘\0’的字符长度。
比如:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char str[] = { 'a', 'b', 'c' };
printf("1-strlen:%d\n", strlen(str));//随机数
printf("1-sizeof:%d\n", sizeof(str));//3
char arr[] = "abc";
printf("2-strlen:%d\n",strlen(arr));//3
printf("2-sizeof:%d\n",sizeof(arr));//4
return 0;
}





