//编写函数不允许创建临时变量,求字符串的长度
#include <assert.h>
//int my_strlen(char str[])
int my_strlen(const char *str)
{
int count = 0;//计数,临时变量
assert(str);//断言
while (*str != 0)
{
count++;
str++;//指向下一个字符
}
return count;
}
#endif
int my_strlen(char* str)
{
if (*str != 0)
return 1 + my_strlen(str+1);
else
return 0;
}
int main()
{
char arr[] = "abc";//[a b c \0]
//char *
int len = my_strlen(arr);
printf("%d ",len);
return 0;
}
图形讲解