重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

c语言中的函数问题 c语言函数经典题目

c语言的函数问题?

两个表达式分别用两个递归函数来实现。

目前成都创新互联已为近1000家的企业提供了网站建设、域名、网络空间、网站托管、服务器租用、企业网站设计、邻水网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

所以,题目中两个表达式的描述,就是告诉你不同情况下的函数返回值。

之后根据题意,主函数通过函数指针调用,函数指针就是指向函数的指针。把两个函数分别赋值给指针,再通过指针调用函数。

下面是代码:

#include stdio.h

int fn1(int n);

int fn2(int n);

int main()

{

int k=3,n=-1,(*p)(int n);

while(n0)

  printf("请输入n的值(大于等于0):"),scanf("%d",n);

while(k!=1 k!=2)

  printf("请选择表达式(输入1或者2):"),scanf("%d",k);

switch(k)

{

  case 1:p=fn1;break;

  case 2:p=fn2;break;

}

printf("通过表示式%d计算得第N项值为:%d\n",k,p(n));

return 0;

}

int fn1(int n)

{

if(n==0) return 1;

if(n==1) return 2;

return 2*fn1(n-1)+fn1(n-2);

}

int fn2(int n)

{

if(n==0) return 0;

if(n==1) return 1;

return fn2(n-1)+2*fn2(n-2);

}

c语言函数体和函数首部的问题

在程序中出现函数名时,要注意区分以下三种情况:

1. main函数中的int max(int x,int y); 是函数的声明,一般格式为 返回值 函数名(参数类型 参数);

2. max(a,b)为函数的调用,一般格式为 函数名(参数);

3. 后面的max(int x,int y){ ...}是函数的定义,一般格式为 返回值 函数名(参数类型 参数){函数体}

c语言规定,在一个函数定义之前调用它,需要提前进行声明。

原因是,如果没有声明函数,当程序运行到max(a,b)时,由于后面的函数定义还没有被读到,所以计算机并不知道max是个什么东西,程序就会出错。

如果将函数定义提到main函数的前面,就无需进行声明了,程序也不会报错。

C语言函数问题

#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));

}

来,开始了:主程序中,函数参数为 5.0,7.0.看回函数体:

double f(double x,double y)//第一次从程序调用函数时,x=5.0,y=7.0

{ if(x=y)   //xy成立吗?不成立,跳过下面一步,转到else部分

return (x+y)/2.0;

else  //执行这里

return f(f(x+2,y-1),f(x+1,y-2)) //这里返回什么?返回函数f(f(x+2,y-1),f(x+1,y-2))的结果,将前面x=5.0,y=7.0代入,化简,即要返回f(f(7.0,6.0),f(6.0,5.0)).这个结果包含两个函数参数:f(7.0,6.0),f(6.0,5.0).也就是说,这个结果要用这两个函数的结果去做参数进行调用自身,得出的结果才能返回给主程序.

//先看第一个参数:f(7.0,6.0),将x7.0,y=6.0代入调用函数体,明显,符合xy,执行if部分的内容返回(x+y)/2.0=6.5

//第二个参数:f(6.0,5.0),同样,满足xy,执行if内容,返回(x+y)/2.0=5.5

//即第一次运行函数时,返回f(6.5,5.5).再代入函数体,又有xy成立,执行if部分

//结果是,返回  (x+y)/2.0=(6.5+5.5)/2.0=6.0

}

//重点是递归函数.建议好好理解一下递归的意义

c语言关于函数的问题?

C/C++语言中,默认情况下,函数时可以从文件外部调用的。因此,函数存储类型 extern 可以省略,表示是外部函数。static 用来表示函数存储类型时,表示内部函数,不能从外部文件调用。


网站栏目:c语言中的函数问题 c语言函数经典题目
转载注明:http://cqcxhl.com/article/ddoigcg.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP