当前位置: 代码迷 >> C语言 >> [求助]关于使用指向函数的指针
  详细解决方案

[求助]关于使用指向函数的指针

热度:125   发布时间:2007-07-19 21:36:45.0
[求助]关于使用指向函数的指针
利用指向函数的指针进行调用;
输入N,N为偶数是输出1/1+1/3+1/5+.....+1/N的结果,N为偶数时输出1/2+1/4+1/6+.....+1/N的结果.
我编写的代码如下
double jishu(int n)
{ double a,sum=0;
for(a=1;a<=n;a=a+2)
{sum=sum+1/a;}
}
double oushu(int n)
{ double a,sum=0;
for(a=2;a<=n;a=a+2)
{sum=sum+1/a;}
}
main()
{ int a,b;double c;double (*f1)(int); double (*f2)(int);
scanf("%d",&a);
b=a%2;
f1=jishu;f2=oushu;
if(b==1) c=(*f1)(a);
else c=(*f2)(a);
printf("%f",c);
}

但是无论我输入什么 按回车后均显示 floating point error:domain
希望得到大家的帮忙 谢谢了
搜索更多相关的解决方案: 指针  函数  

----------------解决方案--------------------------------------------------------

double jishu(int n)
{
double a,sum=0;
for(a=1;a<=n;a=a+2)
{sum=sum+1/a;}
return (sum);
}

double oushu(int n)
{
double a,sum=0;
for(a=2;a<=n;a=a+2)
{sum=sum+1/a;}
return (sum);
}

main()
{

int a,b;
double c;
double (*f1)(int);
double (*f2)(int);

scanf("%d",&a);
b=a%2;

f1=jishu;
f2=oushu;

if(b==1) c=(*f1)(a);
else c=(*f2)(a);

printf("%f",c);

system("pause");

}

调用函数无返回值;
楼主疏忽咯


----------------解决方案--------------------------------------------------------
回复:(hawk86104)double jishu(int n) { ...
非常感激 我一个人弄了好久都没找到错误出在哪

我现在有个问题
看书的话一看就懂
自己来写的话 一写就错

----------------解决方案--------------------------------------------------------

注重多编程操作~~熟悉编译起~~~其实我也是新手


----------------解决方案--------------------------------------------------------
  相关解决方案