#include <stdio.h> int old(int n){ int a; if (n = 1) a=10; else a=old(n - 1) + 2; return a;}int main(){ printf("第2个人的年龄是%d岁", old(2)); return 0;}求解答为什么不是12
2 回答
已采纳
小慕_7913
TA贡献3条经验 获得超6个赞
我觉得应该是:
if(n=1)中,给n赋值1,因为不是0,if中认为是true,执行if的语句块,而不执行else
(注意不是n==1),你可能是没注意到这个
望远
TA贡献1017条经验 获得超1032个赞
#include <stdio.h>
int old(int n)
{
int a;
if (n == 1)//这里应该是关系判断,而不是赋值,赋值为1就是true了
a=10;
else
a=old(n - 1) + 2;
return a;
}
int main()
{
printf("第2个人的年龄是%d岁", old(2));
return 0;
}
- 2 回答
- 1 关注
- 1345 浏览
添加回答
举报
0/150
提交
取消