strlen 是一个函数,它用来计算指定字符串 str 的长度,但不包括结束字符(即 null 字符)。
函数原型:
size_t strlen(char const* str);
关键字 sizeof 是一个单目运算符,而不是一个函数。与函数 strlen 不同,它的参数可以是数组、指针、类型、对象、函数等
区别示例代码:
#include <stdio.h>
#include <stdlib.h>
//计算字符串的个数
//不能用sizeof来计算字符串中有效字符的个数。应该用strlen,它在计算字符串大小的时候,遇到'\0'后,就结束计数。hello\0world
int main()
{
int a[] = {1,2,3};
printf("数组a的元素个数是: %d\n",sizeof(a)/sizeof(a[0]));
char a2[] = "hello";
printf("数组a2的元素个数是: %d\n",sizeof(a2)/sizeof(a2[0]));
printf("数组a2的元素真实个数是: %d\n",strlen(a2));
system("pause");
return 0;
}
运行结果: