美文网首页十天学会C语言
第05天C语言(08):递归-基本概念

第05天C语言(08):递归-基本概念

作者: liyuhong | 来源:发表于2017-07-07 20:04 被阅读43次
一、概念
// 一般情况下,能用循环做的事情,用递归函数都能做
// 但是要注意 : 不是什么时候都使用递归,递归要慎用(性能问题)
// 什么是递归函数, 函数自己搞自己
// 注意: 递归一定要有一个明确的结束条件,否则会造成死循环(无限循环)
二、代码
#include <stdio.h>
void scanfNumber();
int main()
{
#pragma 1.需求: 要求用户输入一个大于0的数,如果用户输入的数不大于0 那么就一直重复的提醒输入重新输入,知道用户输入的值大于0为止
    /*
    int number = -1;
    
    while (number <0) {
        printf("请输入一个大于0的整数,以回车结束\n");
        scanf("%i",&number);
    }
    printf("number = %i\n",number);
    
     */
    scanfNumber();
    
    // text(); // 造成死循环(无限循环)
    return 0;
}

void scanfNumber()
{
    // 1.接收用户输入的值
    int number = -1;
    printf("请输入一个大于0的整数,以回车结束\n");
    scanf("%i",&number);
    
    
    // 2.判断用户输入的值是否合法
    if (number <0) {
        // 不合法,需要重新输入
        // 函数可以自己调用自己
        scanfNumber();
    }
    else
    {
        printf("number = %i\n",number);

    }
    
}
// 无限循环的递归
void text()
{
    printf("text\n");
    text();
}

相关文章

  • 第05天C语言(08):递归-基本概念

    一、概念 二、代码

  • C 指针

    C 指针 参考文章列表 特此表示感谢作者的分享、本文仅仅学习使用、欢迎指正!第08天C语言(09):指针-基本概念

  • (精)十天学会C语言(下)

    Day06 第06天C语言(00)笔记总结第06天C语言(01):进制转换-基本概念第06天C语言(02):进制转...

  • C语言基础教程之递归

    一文读懂C语言递归算法,C语言基础教程之递归 C语言递归 递归指的是在函数的定义中使用函数自身的方法。 从前有座山...

  • C语言day05-08递归的基本概念

    pragma mark 递归的基本概念 pragma mark 概念 pragma mark 代码

  • JavaScript 高级程序设计学习笔记2—— 基本概念(语法

    第3章 基本概念 3.1 语法 ECMAScript 的语法大量借鉴了C 及其他类 C 语言(Java / Per...

  • C语言----递归

    递归指的是在函数的定义中使用函数自身的方法。 举个例子:从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事...

  • C语言 递归

    C允许函数调用自己,该调用过程称为递归。 main()调用了带参数1的up_and_down()函数,以此类推#1...

  • 递归实例

    递归基本概念 程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。 ...

  • Java算法之递归的简单应用

    递归基本概念 程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。 ...

网友评论

    本文标题:第05天C语言(08):递归-基本概念

    本文链接:https://www.haomeiwen.com/subject/nfurhxtx.html