在C语言程序中看到double ( (1) )={sin,cos,log};是什么意思,
来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/02 03:09:47
在C语言程序中看到double ( (1) )={sin,cos,log};是什么意思,
}下述函数中定义一个指向函数的指针数组并循环接受一个整数X,在x的值为1,2,3时分别输出sin(0.5),cos(0.5),log(0.5)的值,假定程序中定义的指针数组名为pt,请填空.#include
#include
void main()
{ int x;
double ( (1) )={sin,cos,log};
do
{
scanf("%d",&x);
if(x3)
continue;
printf("The value is :%f",( (2) ));
}while(x!=-1);
}(1)处答案为(*pt[])(double v)或(*pt[3])(double v)
(2)处答案为(*pt[x-1])(0.5)
我想知道为什么答案是这样
}下述函数中定义一个指向函数的指针数组并循环接受一个整数X,在x的值为1,2,3时分别输出sin(0.5),cos(0.5),log(0.5)的值,假定程序中定义的指针数组名为pt,请填空.#include
#include
void main()
{ int x;
double ( (1) )={sin,cos,log};
do
{
scanf("%d",&x);
if(x3)
continue;
printf("The value is :%f",( (2) ));
}while(x!=-1);
}(1)处答案为(*pt[])(double v)或(*pt[3])(double v)
(2)处答案为(*pt[x-1])(0.5)
我想知道为什么答案是这样
sin,cos,log原型为double sin(double).它们的返回值和参数类型都一样,所以可用同样的函数指针来表示,即double (*p)(double)//其实和一般指针一样如:int* p;形式上怪些
所以(1)处,定义函数指针数组:
double (*p[])(double)={};//在定义的时候赋值如int* p[]={&a,&b,&c};//a b c为int变量
再在引用变量时用*解析(*pt[0])(v);//其实同int 型的一样:*p[0]
其实一般的做法是定义下面的指针类型:typedef double (*pf)(double)
然后用新定义的类型定义数组指针变量如下pf p[]={sin,cos,log};
其实调用函数用(*p[])() 和(p[])()都可以.
这东西用得少,形式上感觉怪,其实和一般指针一样,只要透过形式就好.多用一下熟悉下就没问题了
所以(1)处,定义函数指针数组:
double (*p[])(double)={};//在定义的时候赋值如int* p[]={&a,&b,&c};//a b c为int变量
再在引用变量时用*解析(*pt[0])(v);//其实同int 型的一样:*p[0]
其实一般的做法是定义下面的指针类型:typedef double (*pf)(double)
然后用新定义的类型定义数组指针变量如下pf p[]={sin,cos,log};
其实调用函数用(*p[])() 和(p[])()都可以.
这东西用得少,形式上感觉怪,其实和一般指针一样,只要透过形式就好.多用一下熟悉下就没问题了
在C语言程序中看到double ( (1) )={sin,cos,log};是什么意思,
double arg (arg 2)在C语言中是什么意思?
用C语言计算log(5)log(3)-log(2))/sin(π/3)=
在三角形中,已知斜边和角A求对边及邻边!求高手给C语言的程序!含cos与sin函数的
在三角形ABC中,2sin 2C·cos C-sin 3C=根号3 (1-cos C).
c语言程序,求 sin(x);
c语言 sin(x)+cos(x)编程
DSP实验 让我用C语言编写程序完成计算sin(2.3π)+cos(1.7π)的值
C语言中sin是什么意思
C语言中关于画圆程序#include#includemain(){double y;int x,m;for(y=10;y
sin cos log tan在数学上都是啥意思?
C语言,double a=3 double b=3.0 double b=3.00