#include<stdio.h>void reverse(){char ch;if((ch=getchar())!='\n')reverse();if(ch!='\n')putchar(ch);return;} main(){reverse();} 就这个函数,我看都没看懂呢!~它怎么就把输入的字符串给逆置输出了呢?哥/姐 帮忙下吧!~书面说不明白 ,那语音吧!~
3 回答
30秒到达战场
TA贡献1828条经验 获得超6个赞
程序使用了“递归”算法,通过getchar()函数将输入的字符依次入栈,输入结束后,使用putchar(ch)函数,将字符从栈顶依次取出,这样输出就逆置了。这是使用了栈的特点:先进后出。如:xiao,依次进栈:o(栈顶)aix(栈底)出栈是从栈顶开始取的,每取一次就输出。所以就逆置了:oaix
添加回答
举报
0/150
提交
取消