strlen()是函数,作用是计算出所看到的字符串长度(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域),读到第一个\0为止返回长度,不包括“\0”;
char str[12]={'s','t','r','i','n','g'};
printf("%d\t",strlen(str));
结果为:6
sizeof()返回的是变量声明后所占的内存数,包括看不见的‘\0’,不是实际长度,此外sizeof不是函数,仅仅是一个取字节运算符。
char str[12]={'s','t','r','i','n','g'};
printf("%d",sizeof(str));
结果为:12
char str[12]={'s','t','r','i','n','g'};
printf("%d\t",strlen(str));
结果为:6
sizeof()返回的是变量声明后所占的内存数,包括看不见的‘\0’,不是实际长度,此外sizeof不是函数,仅仅是一个取字节运算符。
char str[12]={'s','t','r','i','n','g'};
printf("%d",sizeof(str));
结果为:12