计划 -
接受当前年份和出生年份的功能,计算年龄
问题 -
程序崩溃
代码-
int Age(int curr, int birth)
{
if (curr > birth)
{
return 1 + Age(curr--, birth);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
函数main中的输入是:
printf ("%d\n", Age(2014,1989));
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助
它应该是
... Age(--curr, birth);
Run Code Online (Sandbox Code Playgroud)
如curr应递减之前Age()被调用.
使用应用于curr--递减curr currby 的递减curr--在Age()返回后生效,这将永远不会发生,因为程序由于尝试无限递归而进入堆栈溢出.