//第一次尝试: #include<stdio.h> #include<stdlib.h> int StrlenCopy1(char arr[]) { if (arr[0] == '\0') { return 0; } else { return 1+StrlenCopy1(arr + 1); } } int StrlenCopy2(char arr[]) { int count = 0; for (int i = 0; arr[i] != '\0'; i++) { count++; } return count; } int main() { char arr[] = "ilovey"; int num1 = StrlenCopy1(arr); int num2 = StrlenCopy2(arr); printf("%d %d\n", num1, num2); return 0; } //用递归和非递归来实现strlen函数的功能 //strlen函数功能是算出字符串中字符的个数,不包含‘\0’ //所以递归的结束条件就是读到'\0' //非递归就是使用循环来是实现
浙公网安备 33010602011771号