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