#include <stdio.h>
int Strlen(char* str)
{
int count = 0;
while(*str!='\0')
{
count++;
str++;
}
return count;
}
int main()
{
char arr[]="abcdef";
int len = Strlen(arr);
printf("该字符串的长度为:%d",len);
return 0;
}
对代码稍作修改,可实现输入指定范围内的字符串,
输出字符串的长度
#include <stdio.h>
int Strlen(char* str)
{
int count = 0;
while(*str!='\0')
{
count++;
str++;
}
return count;
}
int main()
{
char arr[100]="";
printf("请输入一个长度在100以内的字符串:");
scanf("%s",arr);
int len = Strlen(arr);
printf("该字符串的长度为:%d",len);
return 0;
}
接下来使用递归思想对上述函数进行修改:
#include <stdio.h>
int Strlen(char* str)
{
if (*(str )=='\0')
return 0;
else
return 1 + Strlen(str+1);
}
int main()
{
char arr[100]="";
printf("请输入一个长度在100以内的字符串:");
scanf("%s",arr);
int len = Strlen(arr);
printf("该字符串的长度为:%d",len);
return 0;
}