zhe递归函数怎么看,为什么我算出来的是2,求解析

#include
 <stdio.h>
 void fun( int x)
 { 
    if (x/5>0) fun(x/5);
     printf("%d",x); 
}
void main()
 { 
     fun(11);
     printf("\n");
 }

 

第一次  11,11/5 = 2 > 0  执行 fun(x/5) 此时传入参数为2 , 2 / 5 =0 (int类型计算) 为假, 输出 2,返回上一层,输出11,最后输出为211\n

11--》第一次进入fun函数

11/5 == 2 > 0第二次进入fun函数,

2/5 == 0 >0执行printf,输出2,退到第一次执行fun函数内,执行printf,此时x是11,因此输出11

fun此时执行完成,回到main函数内;

由于输出的是2次,因此先输出2,在输出11,因此结果是211