为了账号安全,请及时绑定邮箱和手机立即绑定

求解答为什么不是12

求解答为什么不是12

C
Single丶love 2016-07-29 18:39:15
#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),你可能是没注意到这个

查看完整回答
1 反对 回复 2016-07-29
?
望远

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 反对 回复 2016-07-29
  • 2 回答
  • 1 关注
  • 1346 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信