函数fun一共有两句,第一句是if语句,第二句是输出n的值,注意不管第一句if是否成立,都要执行第二句。
第一次调用fun函数fun(7),第一句if语句n/2=7/2=3>1成立,去调用自身。而第二句的打印7需要等到第一句的调用结束后才能执行;
第二次调用fun函数fun(3),也要运行两句,第一句不成立,运行第二句,打印出3。返回调用处继续运行。
返回的地方是第一次调用的第二句,即打印出7。
程序结束。
你仔细看看,fun是递归调用的。fun(7)调用fun(3)。fun(3)输出3,然后返回。接着fun(7)继续执行,输出7。所以是3和7。