全部问题 > 当前问题

就是这种递归调用,我遇到好几次了,但不太理解

有以下程序:
#include <stdio.h>
void fun(char c) 
{ if(c>'x') fun(c-1);
  printf("%c",c);
}
main()
{ fun('z'); }
程序运行后,输出结果是 ______ 。

紫雨静心 2016-8-1 20:21:41

共 6 个回答

嘿嘿大人 2016-8-1 20:26:39

你写看看你的解题步骤,我看你是哪里不会,按照你自己的思路来

紫雨静心 2016-8-1 20:37:06

回复 嘿嘿大人:求f('z')要调用f('y'),这时候不要输出y,而求f('y')要调用f('x'),这时候if条件不符合,输出x,那f('y')怎么求呢?

嘿嘿大人 2016-8-1 20:38:32

输出了x之后就返回到调用fun(x)的地方接着往下执行撒,也就是输出y了撒

最佳答案

嘿嘿大人 2016-8-1 20:38:49

回复 紫雨静心:递归调用嘛,调用了要返回调用处撒

紫雨静心 2016-8-1 20:49:24

回复 嘿嘿大人:我有一点理解了,老师你说话好幽默,每句话后面都带一个”撒“字。

嘿嘿大人 2016-8-1 21:27:27

回复 紫雨静心:= =理解就好,重庆人嘛,说话就是这样撒

问题来自: 字符类型