每日一题 -- 不使用变量实现c语言的strlen函数
每日一题 -- 不适用变量实现c语言的strlen函数
问题描述:编写一个c语言函数strlen,要求在其中不能够使用任何的变量
思路:如果在函数体重不能使用变量,同时考虑到斐波那契数列的递归求解的过程,可以联想到使用“递归”来实现。
实现代码:
#include <stdio.h>
#include <stdlib.h>
// strlen实现,但是在其中不能使用任何变量
int myStrlen(char* str)
{
if ('\0' == *str)
{
return 0;
}
else
{
return (1 + myStrlen(str + 1));
}
}
int main()
{
char* str = "hello world";
printf("%d\n", myStrlen(str));
return 0;
}
#include <stdlib.h>
// strlen实现,但是在其中不能使用任何变量
int myStrlen(char* str)
{
if ('\0' == *str)
{
return 0;
}
else
{
return (1 + myStrlen(str + 1));
}
}
int main()
{
char* str = "hello world";
printf("%d\n", myStrlen(str));
return 0;
}