标题:[求助]
只看楼主
xinmo1975
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-4-14
 问题点数:0 回复次数:3 
[求助]
各位老大,请帮忙解答:
#include<iostream.h>
int f(int x)
{      if(x<0)cout<<"参数错误"<<endl;
       else if(x==0)return 3;
       esle return f(x-1)+6;
}
void main()
{       int g=35;
        cout<<"结果为:"<<f(g)<<endl;
}          //这个程序运行的结果是:213

请问各位:函数f()中" f(x-1)+6;"是怎么运算的???结果“213”是怎么算出来的呢???
拜托各位!!!
搜索更多相关主题的帖子: 213 include return 
2005-04-14 11:46
tary
Rank: 1
等 级:新手上路
帖 子:780
专家分:0
注 册:2004-10-5
得分:0 
这是个递归啊!!

当你输入35时运行这个式子 f(34)+6然后递归

这样一直递归35次,  6*35=210

当X==0时, 返回3

210+3=213.

[此贴子已经被作者于2005-4-14 18:12:35编辑过]



┌→¨ ≮我可以学会对你很冷落≯¨←┐ │  <却学不╓══╦══╖会将爱> │ │¨←┐ ╭╩╮哭‖哭╭╩╮ ┌→¨│ └──┘收 ╲╱ ◇‖◇ ╲╱回└──┘
2005-04-14 18:11
whbyxy
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-3-29
得分:0 
不懂!!
2005-04-14 20:32
xinmo1975
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-4-14
得分:0 
谢谢二楼的大侠!!!不胜感谢!!!
2005-04-15 15:19



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-15629-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.057431 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved