#include<stdio.h>void reverse(){char ch;if((ch=getchar())!='\n')reverse();if(ch!='\n')putchar(ch);return;} main(){reverse();} 就這個函數(shù),我看都沒看懂呢!~它怎么就把輸入的字符串給逆置輸出了呢?哥/姐 幫忙下吧!~書面說不明白 ,那語音吧!~
3 回答

30秒到達戰(zhàn)場
TA貢獻1828條經(jīng)驗 獲得超6個贊
程序使用了“遞歸”算法,通過getchar()函數(shù)將輸入的字符依次入棧,輸入結束后,使用putchar(ch)函數(shù),將字符從棧頂依次取出,這樣輸出就逆置了。這是使用了棧的特點:先進后出。如:xiao,依次進棧:o(棧頂)aix(棧底)出棧是從棧頂開始取的,每取一次就輸出。所以就逆置了:oaix
添加回答
舉報
0/150
提交
取消