天天看点

编写函数,不允许创建临时变量,求字符串的长度。

#include<stdio.h>

#include<string.h>

int  my_strlen(char  *str)

{

int count=0;//计算字符串的长度

while(*str!='\0')  //递归的条件,应该是if,但是if不能实现循环,所以while

{

count++;

str++;

}

return  count;

}

int  main()

{

char  arr[]="bit";

int len=my_strlen(arr);

printf("len=%d\n",len);

return  0;

}

好了,看到这里了,问题解决了。哈哈哈,那你中招了,看一下题目,不允许创建变量(我们创建了count)。所以重开吧。不要着急,你再仔细看看。

#include<stdio.h>

#include<string.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);