strlen函数求的是字符串的长度(实际字符的个数)。我这里提供三种方法给你,希望你看后能有所收获。
方法一:
int my_strlen(char str[])
{
int count = 0;
int i = 0;
for (i = 0; str[i] != '\0'; i++)
{
count++;
}
return count;
}
方法二:
int my_strlen(char str[])
{
int count = 0;
while (*str != '\0')
{
count++;
str++;
}
return count;
}
方法三:
int my_strlen(const char* str )
{
assert(str);
const char* start = str;
while (*str) //'\0'的ASCII值为〇
{
str++;
}
return str-start;
}
int my_strlen(char* str)
{
assert(str);
int len=0;
while(*str++)
{
len++;
}
}
测试代码:
int main()
{
int ret = 0;
char str[] = "To love and to loved is the greatest happiness of existence.";
ret = my_strlen(str);
printf("%d\n",ret);
return 0;
}