c语言求问一道题

#include void my_put()
{ char ch; ch = getchar();
if (ch != ’C’) my_put();
putchar(ch); }

main( ) { my_put(); } 执行时输入:ABC<回车>

答案是CBA能讲一下这个题的思路吗

递归算法:

    第一次调用, 读入'A', 放到ch里, if条件满足, 再次调用

    第二次调用, 读入'B', 放在ch里, if条件满足, 再次调用

    第三次调用, 读入'C', 放在ch里, if条件不满足, 输出ch, 所以打印了字母C, 返回到第二次调用的地方,继续执行

    第二次调用继续执行, 输出了当时的ch, 也就是B, 返回到第一次调用的地方

    第一次调用继续执行, 出处了当时的ch, 也就是A, 返回到main继续执行

    main结束, 退出

    因此, 输出CBA

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-26
没写完吧,if语句里面没对吧。本回答被网友采纳
相似回答