实现strlen()函数的方法是多样的,但是大致可以分为两种,一种是使用临时变量的另一种是使用递归。
具体代码如下:
#include <iostream>
using namespace std;
//使用临时变量的实现方法
size_t myStrlen1(const char *str)
{
if(str == NULL)
{
return 0;
}
size_t count = 0;
while(str[count] != '\0')
{
count++;
}
return count;
}
//使用递归的实现方法
size_t myStrlen2(const char *str)
{
if(str==NULL || *str=='\0')
{
return 0;
}
else
{
return myStrlen2(str + 1) + 1;
}
}
int main()
{
char str1[] = "hello world";
char str2[] = "";
cout<<myStrlen1(str1)<<" "<<myStrlen1(str2)<<endl;
cout<<myStrlen2(str1)<<" "<<myStrlen2(str2)<<endl;
return 0;
}