这是函数的递归调用首先,fun(3)=3-fun(2),这你应该明白吧然后,fun(2)呢,满足if(n==1‖n==2)的条件语句,所以执行s=2;这条语句,所以fun(2)的函数返回值是2,所以fun(3)=3-2=1,所以fun(3)的函数返回值是1,即printf("%1d\n",fun(3));的输出结果就是1。
递归fun(3) = 3 - fun(2) = 3- 2= 1