为什么即使我没有将变量a的输出返回到上一个函数,下面的代码也要返回输出。
int fact(int n)
{
int a;
if (n <= 1)
return 1;
else
a = n*fact(n-1);
}
int main()
{
int c=fact(5);
printf("%d",c);
}
答案 0 :(得分:2)
引用C11
,第6.9.1章
如果到达终止函数的
}
,并且函数调用的值由 调用者,行为是不确定的。
因此,您的程序表现出未定义的行为。