咱们先来复习一下strlen函数:
strlen(字符数组)
它是测试字符串长度的函数,函数的值为字符串中的实际长度(不包括'\0'在内),例如:
char str[10]='"china";
printf("%d",strlen(str));
输出的结果是5
也可以直接测试字符串常量的长度,例如:
strlen("china");
<span style="font-size:18px;">#include <stdio.h>
#include <string.h>
#include <assert.h>
int my_strlen(char *str)
{
assert(str);//确保传入的字符不为空
int one=0;//定义一个计数器,用它来计算字符的个数
while(*str++!='\0')//让字符顺序往后判断是否为'\0'
{
one++;
}
return one;
}
int main()
{
int ret=my_strlen("hello");//调用strlen函数
printf("%d\n",ret);
return 0;
}
</span>
<span style="font-size:18px;">//递归实现求字符串长度的函数
#include <stdio.h>
int strlen(char *p)
{
if (*p == '\0')
return 0;
else
return 1 + strlen(p + 1);
}
int main()
{
char *p = "country";
int ret = strlen(p);
printf("%d\n", ret);
//getchar();//在VS2013环境下结果或许会闪一下就过去,所以用getchar函数
//来抓住
return 0;
}</span>