非递归实现strlen函数的思路可以用一个while循环解决
思路如下:字符串以‘\0’结尾,可以利用循环依次判断该字符串里各个元素是不是‘\0’
创建一个临时变量len,如果不是‘\0’,len++
代码如下
int strlen1(char str[]){
int len = 0;
while (str[len] != '\0'){
len += 1;
}
return len;
}
但如果不允许创建临时变量,也可以考虑递归的思想实现。
strlen也可采用递归的方法实现。
具体的代码如下
int strlen2(char str[]){
if (str[0] == '\0')
return 0;
return 1 + strlen2(1 + str);
}