标题:函数方面
只看楼主
zlcn
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2018-1-18
结帖率:50%
已结贴  问题点数:20 回复次数:3 
函数方面
#include <stdio.h>
double f(double x,double y)
{ if(x>=y)
return (x+y)/2.0;
else
return f(f(x+2,y-1),f(x+1,y-2)) //这里不知道怎么运算,求解答,是不是把5和7带入两个式子中,条件都满足,为什么结果是6而不是5,谢谢
}
int main()
{

    printf("%.1f",f(5.0,7.0));
}
搜索更多相关主题的帖子: 函数 double return 结果 printf 
2018-02-01 20:45
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
得分:10 
代入5 7以后,因为5小于7. 于是执行else部分,f(7,6)的返回值又作为第一个参数,f(6,5)的返回值又作为第二个参数,这样两个参数传入f函数中,得到的返回值最后返回给f(5,7)
2018-02-01 23:00
Jeyyion_han
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:207
专家分:301
注 册:2018-1-22
得分:10 
printf里面第一个f函数执行完是6.5,第二个f函数执行完是5.5 再执行if中加起来为12再除以2得6
你可以把每一个f函数执行完了,可以打印出来,更加直接。
2018-02-02 18:38
Jeyyion_han
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:207
专家分:301
注 册:2018-1-22
得分:0 
printf里面第一个f函数执行完是6.5,第二个f函数执行完是5.5 再执行if中加起来为12再除以2得6
你可以把每一个f函数执行完了,可以打印出来,更加直接。
2018-02-02 18:38



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




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

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