关于间接递归
我写了一个递归程序
#include "stdio.h"
#include "conio.h"
int A(int x,int y)
{
printf("x+y=%d \n",(x+y)); //加上这句就出错说cpu遇到无效指令 晕!
C(x+=2,y-=3);
if((x+y)<-6000)
return (x+y);
if ((x+y)<10000)
B(x-=2,y-=5);
else return (x+y);
}
int B(int x,int y)
{
if ((x+y)<3000)
return C(x+=y,y-=3);
else
return A(x-=7,y+=5);
}
int C(int x,int y)
{
B(x+=2,y+=1);
if ((x+y)<5000)
B(x-=5,y+=x);
else
return A(x-=2,y-=3);
}
main()
{
printf("x+y=%d",A(5,6));
getch();
}
此程序在WinTc下编译通过 不过运行时总是转不出结果
我就在函数A里加了打印语句 来寻找原因 结果
在运行时出错 不知是什么原因?
请大家赐教!