递归调用函数
#include <stdlib.h>
#include <stdio.h>
int add(int num){
if (num==1)
return 1;
int temp = add(num-1); //递归调用
return temp+num;
}
void main(){
int result = add(3);
printf("num = %d",result);
system("pause");
}
调用过程分析:
①main函数调用 int result = add(3) ->
②在add函数第9行执行调用int temp = add(3-1)->
③再次add函数第9行执行调用int temp = add(2-1)->
④此时num = 1,return 1;
第③步的temp = 1,return temp + num = 1+2 = 3;
第②步的temp =3 ,return temp+num =3 + 3=6
第①步的result = 6即为最终结果