递归和非递归分别实现strlen
方法1:非递归
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int my_strlen(char* str)
{
int count = 0;
while (*str != '\0')
{
count++;
str++;
}
return count;
}
int main()
{
char str[] = "abc";
int len = my_strlen(str);
printf("%d\n", len);
return 0;
}
方法2:递归
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int my_strlen(char* str)
{
if (*str != '\0')
{
return my_strlen(str + 1)+1;
}
else
{
return 0;
}
}
int main()
{
char str[] = "abc";
int len = my_strlen(str);
printf("%d\n", len);
return 0;
}