有一不解的菜问题。

科比布莱恩特 2003-08-30 10:52:01
有五个人,每一个都说比另一个人大2岁(除最小年龄的一个外),最小的那个十岁,那最大的就应该是十八岁,有一句麻烦您帮忙解释一下。
age(n)
int n; /*定义n为人数的个数*/
{int c; /*c用作存放函数的返回值的变量*/
if(n==1)c=10; /*当n为1时,年龄为10*/
else c=age(n-1)+2; /*否则就年龄减一加二*/
return(c);
}

main()
{
printf("%d",age(5)); /*输出年龄数组*/
}

有一问题不解,n既然代表的是人数,那么总共才五个,这里n没有定义,是怎么得来的?
不解,实在是不解。
...全文
90 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
devzhao 2003-08-30
  • 打赏
  • 举报
回复
age(n)
int n;
{
...
}
这样写没错,是老式的函数写法。
现在一般都这样写:
age(int n)
{
...
}

BTW:n是函数的参数
fupa0 2003-08-30
  • 打赏
  • 举报
回复
递归的例子
最初调用age(n)的时候应该会给出参数n的值
然后在age(n)内部调用age(n),同样以参数的形式给出n值
caoyun 2003-08-30
  • 打赏
  • 举报
回复
晕了,你的age(n)的函数是不是写错哒
应该是 age(n)
{int n;
...
}
而不是 age(n)
int n;
{
...
}
科比布莱恩特 2003-08-30
  • 打赏
  • 举报
回复
兄弟们,发工资罗!

69,381

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧