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;
}