
c语言求问一道题
#includevoidmy_put(){charch;ch=getchar();if(ch!=’C’)my_put();putchar(ch);}main(){my_p...
#include void my_put()
{ char ch; ch = getchar();
if (ch != ’C’) my_put();
putchar(ch); }
main( ) { my_put(); } 执行时输入:ABC<回车>
答案是CBA能讲一下这个题的思路吗 展开
{ char ch; ch = getchar();
if (ch != ’C’) my_put();
putchar(ch); }
main( ) { my_put(); } 执行时输入:ABC<回车>
答案是CBA能讲一下这个题的思路吗 展开
2个回答
展开全部
递归算法:
第一次调用, 读入'A', 放到ch里, if条件满足, 再次调用
第二次调用, 读入'B', 放在ch里, if条件满足, 再次调用
第三次调用, 读入'C', 放在ch里, if条件不满足, 输出ch, 所以打印了字母C, 返回到第二次调用的地方,继续执行
第二次调用继续执行, 输出了当时的ch, 也就是B, 返回到第一次调用的地方
第一次调用继续执行, 出处了当时的ch, 也就是A, 返回到main继续执行
main结束, 退出
因此, 输出CBA
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |