C语言的 下述函数中定义一个指向函数的指针数组并循环接受一个整数X...
发布网友
发布时间:2024-03-15 09:16
我来回答
共3个回答
热心网友
时间:2024-03-16 01:34
这是一个指向“函数指针”的问题。
C语言定义的函数,通常是 :
返回值类型 函数名(参数)
函数指针的定义:
int (*ptr)();
函数指针数组的定义:
int (*ptr[])();
解释:
double ( (1) )={sin,cos,log};
明显是函数指针数组的定义方式,因此应采用int (*ptr[])();方式填写,由于是三角函数,因此需一个参数,且类型是double:
double ( *ptr[3](double) )={sin,cos,log};
根据 if(x<1||x>3) ,x 的取值范围为1,2,3;而在C中数组是从0开始的,因此,
采用(*pt[x-1])(0.5) 是对的。
热心网友
时间:2024-03-16 01:37
朋友,请问你这是何用意呢?
你给了问题,又给了答案,那么你想知道什么呢?
你没有说啊!
热心网友
时间:2024-03-16 01:31
#includestdio.h
float ave(int *a, int n)
{
int *p = a;
float s = 0;
while(p a + n)
s += *p++;
return s / n;
}
int main()
{
int i, a[10];
printf("输入10个整数:\n");
for(i = 0; i 10; i++)
scanf("%d", a[i]);
printf("平均值是%f\n", ave(a, 10));
return 0;
}