马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
题目
下面是我自己码的代码#include <stdio.h>
int Ackermann(int n,int x,int y)
{
int i;
if(n==0)
i=x+1;
if(n==0&&y==0)
i=x;
if(n>4&&y==0)
i=2;
if(n<=4&&y==0)
i=n-2;
else if(n!=0&&y!=0)
return(Ackermann(n-1,x,Ackermann(n,x,y-1)));
}
int main()
{
int i,n,x,y;
printf("(n,x,y)=");
scanf("%d,%d,%d",&n,&x,&y);
if(n<0||x<0||y<0)
{
printf("错误输入\n");
}
else
{int Ackermann(int n,int x,int y);
printf("结果为:%d\n",i);}
return 0;
}
为什么正常输入数字的时候结果总是47,是我函数那里哪里写错了吗?
函数的返回值和 printf里面的i没有关系,ackermann函数里面的i在函数调用完后就自动释放了
|