以下选项中对函数fun的正确调用语句是
(A)(*f1)(a); (B)*f1(*s); (C)fun(&a); (D)ch=*f1(s);
#include<stdio.h> char fun(char *); void main() { char *s="one",a[5]={0},(*f1)()=fun
答案:3 悬赏:0 手机版
解决时间 2021-03-14 04:23
- 提问者网友:一抹荒凉废墟
- 2021-03-13 13:57
最佳答案
- 五星知识达人网友:鸠书
- 2021-03-13 14:04
刚才说错了
全部回答
- 1楼网友:慢性怪人
- 2021-03-13 15:04
A呀。。。
- 2楼网友:时间的尘埃
- 2021-03-13 14:14
这个函数是使用递归算法计算斐波纳契数列的,那个数列是这样的:
1,1,2,3,5,8,13,21。。。。。依此类推
大致解释如下,你看看吧,应该能看明白了吧。
#include
int fun(int n,int *s)
{
int f1,f2;
if(n==1 || n==2) // 如果是第一个或者第二个数,他们均为1
*s=1;
else
{
fun(n-1,&f1); // 递归计算前一个
fun(n-2,&f2); // 递归计算前两个位置的
*s=f1+f2; // 数列的定义就是当前位置是前两个数字之和
}
return 0;
}
int main()
{
int x;
fun(6,&x); // 看看数列第六个位置是不是8
printf("%d\n",x);
fun(8,&x);
printf("%d\n",x);// 看看数列第8个位置是不是21
return 0;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯