不知道怎么改错,第一次学习函数 不是太懂 求教

#include
int Monkey(int n, int x)
{
if(n==10)
return 1;
else
x=(Monkey(n+1)+1)*2;
return x;
}
int main()
{
int a,b,sum;
printf("Input days n:");
scanf("%d",&a);
sum=Monkey(a,b);
printf("x=%d\n",sum);
return 0;
}
图片说明

Monkey需要2个参数,你调用的时候只给了一个
另外,b没有初始化。

要知道怎么修改,你得先说清楚你的程序是干嘛的。

Monkey需要两个参数,而你只传入了一个

目的是想干嘛?这个递归函数不是收敛的,无穷无尽了,最大递归次数到2的64次方了。

你这个函数,x参数可以不用的,要改变外部变量得用指针或引用,去掉x参数改成函数内部定义。