#include<stdio.h>
int my_strlen(char*str)
{
int count=0;
while(*str!='\0')
{
count++;
str++;
}
return count;
}
int main()
{
char arr[]="bit";
int len=my_strlen(arr);
printf("len=%d\n",len);
return 0;
}
可改为
#include<stdio.h>
int my_strlen(char*str)
{
if(*str!='\0')
return 1+my_strlen(str+1);
else
return 0;
}
int main()
{
char arr[]="bit";
int len=my_strlen(arr);
printf("len=%d\n",len);
return 0;
}
关于为什么str不能++,是因为这里的str是一个数组名,不能直接进行++
可以再创建一个指针来存这个数组,再对指针++,指针是可以进行++的