ahuajjjj 2023-04-04 14:42 采纳率: 50%
浏览 10
已结题

函数up_and_down(1)执行句1,调用函数up_and_down(2),这是句2打印出的level为什么是level2不是level 1,初学者对这个递归有点不明白


#include<stdio.h>
 void up_and_down(int);
 
 int main(void)
 {
     up_and_down(1);
     return 0;
 }
 
 void up_and_down(int n)
 {
     printf("Level %d",n);  //句1 
     if(n<4)
     
         up_and_down(n+1);
         printf("Level %d",n);      //句2 
     
 }

你好请问,当n=1时,函数up_and_down(1)执行句1,接着判断当n<4,调用函数up_and_down(2),这是句2打印出的level为什么是level2不是level 1,初学者对这个递归有点不明白

  • 写回答

1条回答 默认 最新

  • threenewbee 2023-04-04 15:33
    关注

    这个是递归调用up_and_down
    其实相当于循环,从n打印到4再打印回来。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月4日
  • 已采纳回答 4月4日
  • 创建了问题 4月4日

悬赏问题

  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 MATLAB中streamslice问题
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序