#include <stdio.h> 
 
int jiecheng(int n){ 
    
    int ji; 
     
    if ( n==1 ){ 
        ji = 1; 
        printf("n==1 %d\n", ji); 
        printf("%d\n", n); 
    }else{ 
        ji = jiecheng(n-1)*n; 
        printf("n==2 %d\n", ji); 
        printf("%d\n", n); 
    } 
    printf("return %d\n", ji); 
    printf("%d\n", n); 
    return ji; 
} 
 
int main(int argc, const char * argv[]) 
{ 
     
    int result = jiecheng(5); 
     
    printf("%d\n", result); 
    return 0; 
} 
/******************************* 
结果为 
n==1 1 
1 
return 1 
1 
n==2 2 
2 
return 2 
2 
n==2 6 
3 
return 6 
3 
n==2 24 
4 
return 24 
4 
n==2 120 
5 
return 120 
5 
120 
********************************/ 
执行的步骤和流程控制的步骤不一样呀   具体步骤是怎么执行的?(被调函数中的printf是自己加的) |   
        
 
    
    
    
     
 
 |