1.递归方式
2.非递归:(1)计数方式
(2)指针方式
#include<stdio.h>
#include<stdlib.h>
int Strlen1(char* ch)//1.指针方式
{
char *p = ch;
while (*p != '\0')
{
p++;
}
return p-ch;
}
int Strlen2(char*ch)//2.计数方式
{
int count = 0;
while (*ch)
{
ch++;
count++;
}
return count;
}
int Strlen3(char*ch)//3.递归方式
{
if (*ch =='\0')
{
return 0;
}
else
{
return (1 + Strlen3(ch + 1));
}
}
int main()
{
char ch[10] = "hello";
printf("%d\n", Strlen1(ch));//指针方式
printf("%d\n", Strlen2(ch));//计数方式
printf("%d\n", Strlen3(ch));//递归方式
system("pause");
return 0;
}