利用遞歸將輸入的字符串倒序輸出

B站視頻-https://www.bilibili.com/video/av21828275?p=33
在這裏插入圖片描述
我們用 printa(),printb(),printc() 來分別代表上圖中從左到右出現的三個 print() 函數。在運行printc()的時候,會遇到"#",所以printc()中第一個if條件不滿足,進而判斷第二個if語句,第二個if語句也不成立,所以“#”符號不會打印到屏幕上。至此,printc()函數執行完畢,換句話說,printb()中的中第一個if塊執行完,所以此時執行第二if塊,這個時候a!=’#’,打印符號‘C’到屏幕上。進而返回到printb()和printa()中執行打印字符的代碼。

#include <stdio.h>

void print()
{
    char a;
    scanf("%c", &a);
    if (a!= '#')
        print();
    if (a!='#')
        printf("%c",a);
} 
int main()
{
	print();
	return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章