void f( int n, int & m)
if (n<1) return
else
printf((调用f(%d,%d)前,n=%d,m=%d\n",n
1,m-1,n,m);
n--;m-;
f(n-1,m) ;
printf(("调用f(%d,%d)后,n=%d,m=%d\n",n-
1,m-1,n,m);
}
}
void main0
int n=4,m=4;
f( n, m)
}
修改如下,供参考:
#include <stdio.h>
void f(int n, int m)
{
if (n < 1) return;
//else
printf("(调用f(n=%d,m=%d)前)\n",n,m);
//n--; m-;
f(n-1, m-1);
printf("(调用f(n=%d,m=%d)后)\n",n,m);
}
int main()
{
int n=4,m=4;
f(n, m);
system("pause");
return 0;
}
//(调用f(n=4,m=4)前)
//(调用f(n=3,m=3)前)
//(调用f(n=2,m=2)前)
//(调用f(n=1,m=1)前)
//(调用f(n=1,m=1)后)
//(调用f(n=2,m=2)后)
//(调用f(n=3,m=3)后)
//(调用f(n=4,m=4)后)
//请按任意键继续. . .