sizeof是C的运算符,而strlen是C的库函数。两者都可以用来测量一个字符串的长度,但实际上两者的测量结果是有区别的。来看个实验:
int main(void)
{
printf("Test2, strlen = %d\r\n", strlen("abc"));
printf("Test2, sizeof = %d\r\n", sizeof("abc"));
return 0;
}
这段代码的运行结果如下:
结论:测量字符串常量,sizeof会把'\0'算进去,而strlen则不会。