【C语言】递归和非递归分别实现strlen


本文摘自PHP中文网,作者little bottle,侵删。

今天带大家一起学习一下用递归和非递归分别实现strlen,对啦,这篇文章用的是C语言,这个大家应该会很熟悉吧,快来看看吧。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

#define _CRT_SECURE_NO_WARNINGS

#include<stdio.h>

#include<stdlib.h>

int Strlen1(char* str) {//递归

    if (*str == '\0') {

        return 0;

    }

    else {

        return Strlen1(str + 1) + 1;

    }

}

//************

int Strlen2(char* str) {//非递归

    int n = 0;

    while (*str != '\0') {

        ++str;

        ++n;

    }

    return n;

}

void main() {

    char str[30] = { 0 };

    printf("请输入一串字符\n");

    scanf("%s", &str);

    printf("递归判断字符串长度是:%d\n", Strlen1(str));

    printf("非递归判断字符串长度是:%d\n", Strlen2(str));

    system("pause");

}

【推荐课程:C视频教程】

以上就是【C语言】递归和非递归分别实现strlen的详细内容!

相关阅读 >>

continue语句只用于循环语句中,它的作用是什么

C语言strcmp函数用法

C语言中求余运算符是什么?

C语言中char型数据在内存中的存储形式是什么?

一个C语言源程序是由什么组成

C语言规定在一个源程序中main函数的位置是什么?

C语言中%d,%s,%x,%f,%.100的意义

C语言中system()函数怎么用?

C语言中预处理命令都必须以什么号开始

新手学习C语言必须要知道的特点

更多相关阅读请进入《C语言》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...