我正在学习 C,我想出了这个例子
#include <stdio.h>
int MyAdd(int);
main ()
{
int i;
int c = 0;
c = MyAdd(5);
printf("%d\n", c);
}
int MyAdd(int a)
{
if(a > 0)
return a + MyAdd(--a);
else
return 0;
}
我自己运行它,我计算出 15。(5 +4+3+2+1)但是当我运行它时,我得到 10......为什么?在第一次,我们不会得到 5+(再次执行函数)等等..?