strlen函数介绍
size_t strlen(const char* str);
- 字符串以'\0'作为结束标志,strlen函数返回的是'\0'前面的字符个数(不包括'\0')
- 参数指向的字符串必须以'\0'结束
- strlen函数返回值类型是size_t,即unsigned int(无符号整型)
#include <stdio.h>
#include <string.h>
int main()
{
if (strlen("abc") - strlen("abcde") > 0)
{
printf(">\n");
}
else
{
printf("<=\n");
}
}
输出结果为>,原因是strlen("abc")的返回值为3,strlen("abcde")的返回值为5,都是无符号整型,两个值相减之后得到的-2(有符号整型)会被整型提升为无符号整型。
方法1:计数器版本
#include <stdio.h>
#include <assert.h>
int my_strlen(const char* str)
{
int count = 0;
assert(str != NULL);
while (*str != '\0')
{