C的返回值,具体返回到了哪里
比如下面这段代码
#include<stdio.h>
int factorial(int n){
int result;
if(n<0)
{
printf("输入错误!\n");
return 0;
}
else if(n==0 || n==1)
{
result=1;
}
else
{
result=factorial(n-1)*n;
}
return result;
}
int main(){
int n=5;
printf("%d的阶乘=%d\n",n,factorial(n));
return 0;
}三种情况分别有三个不同的返回值,那么这些返回值最后返回到了哪里,又对程序运行的最终结果产生了什么影响