递归和非递归分别实现strlen
迭代实现strlen
#include<stdio.h>
#include<windows.h>
#include<assert.h>
int my_strlen(const char* str)
{
int count = 0;
assert( str);
while( *str)
{
count++;
str++;
}
return count;
}
int main()
{
printf("len = %d\n",my_strlen("abcdef"));
system("pause");
return 0;
}
递归法实现strlen
#include<stdio.h>
#include<windows.h>
#include<assert.h>
int my_strlen(const char* str)
{
assert(str != NULL);
if(*str)
return 1+my_strlen(str+1);
else
return 0;
}
int main()
{
printf("len= %d\n",my_strlen("abcdef"));
system("pause");
return 0;
}