今天编写回调函数的时候进行了下列例子:
int step_multip_recur(int i)
{
int ret = 0;
if(i >= 1)
ret = i*step_multip_recur(i-1);
else
return 1;
// return ret;
}
int main()
{
int funcRet = 0;
int mult = 3;
funcRet = step_multip_recur(mult);
printf("mult:%d ret:%d \n",mult, funcRet);
return 0;
}
运行后的结果为:
mult:3 ret:6
mult:5 ret:120
虽然我的回调函数并没有进行正确结果的返回(我已注释掉了),但是 funcRet 还是得到了正确的结果,很好奇这是什么特别的机制吗?