c++入门经典上的习题,找不到答案了,请问overflow
wosk 2004-11-21 01:39:04 递归函数Ackerman
#include<iostream>
using namespace std;
int Ackerman(int a,int b);
int main(int argc, char* argv[])
{
int a=0,
b=0;
cout<<"Please input two integer(>=0): ";
cin>>a>>b;
cout<<Ackerman(a,b)<<endl;
return 0;
}
int Ackerman(int a,int b)
{
if(a>=0 && b>=0)
{
if(a==0)
return b+1;
else if(b==0 && a>0)
return Ackerman(a-1,1);
else
return Ackerman(a-1,Ackerman(a,b-1));
}
else
return -1;
}
当输入为4 1时就出现overflow的错,请问是怎么回事,谢谢