65,211
社区成员
发帖
与我相关
我的任务
分享
passionboy03 第二题中的strlen(strDest+1)里面为啥加1?直接strlen(strDest)不可以吗?
看楼主的要求,不是库函数strlen,是递归函数strlen,不加一怎么个递归法
//不定义中间变量返回字符的长度
//这样????????
int strlen(char *p1)
{
if (*p1) return 1+strlen(--p1);
return 0;
}
int strcmp(const char * str1, const char * str2)
{
char *d=(char *)str1;
char *s=(char *)str2;
while(*str1==*str2&&*str2!='\0')
{
str1++;
str2++;
}
return *str1-*str2;
}
int strlen(char *strDest)
{
return *strDest ? 1 + strlen(strDest+1) : 0;
}