今天刚好需要用到通过数组中的函数指针来调用函数,所以就写了了一个例子,但是遇到了问题。
在程序运行后,就是得不到结果。
一开始,我以为你是 add_table函数调用失败,后来我验证后发现还是调用了,只是没有得到实际结果。
始终没找到原因。
大家帮我看看,有没有什么想法。
程序源码:
#include <stdio.h> //double yy; double add1(double x, double y) { return x + y; } double add2(double x, double y) { return x - y; } void add_table(double x, double y, double(**p)(double, double)) { printf("add_table...\n"); printf("add1 = \n",(*p[0])(x,y)); printf("add2 = \n",(*p[1])(x,y)); } int main() { int x = 2,y = 1; double (*pf[2])(double, double) = {add1,add2}; add_table(x,y,pf); return 0; }我的运行结果:
add_table add1 = add2 =
通过数组中的函数指针来调用函数,不知道为什么得到结果
本文探讨了使用C语言中的函数指针调用函数的方法,并通过具体示例介绍了如何构建函数指针数组并利用该数组进行函数调用的过程。然而,在运行示例程序时出现了未预期的结果,即无法正确显示函数的返回值。


被折叠的 条评论
为什么被折叠?



