递归和非递归分别实现 strlen

    xiaoxiao2025-03-21  28

    递归和非递归分别实现 strlen (求字符串长度) 1,用非递归函数实现 strlen

    #include <stdio.h> #include <stdlib.h> int Strlen(char str[]){ int size = 0; for (int i = 0; str[i] != '\0'; ++i){ //遇到 \0 结束操作 ++size; } return size; } int main(){ char str[] = "hehe"; printf("%d\n", Strlen(str)); system("pause"); return 0; }

    2,用递归函数实现 strlen 编写函数不允许创建临时变量,求字符串的长度

    #include <stdio.h> #include <stdlib.h> int Strlen(char str[]){ //数组隐式转换成指针 char* str if (str[0] == '\0'){ return 0; } return 1 + Strlen(str + 1); //str + 1 代表数组下一个元素 } int main(){ char str[] = "abcde"; printf("%d\n", Strlen(str)); system("pause"); return 0; }
    最新回复(0)