今天剛好需要用到通過數組中的函數指針來調用函數,所以就寫了了一個例子,但是遇到了問題。
在程序運行後,就是得不到結果。
一開始,我以爲你是 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 =
通過數組中的函數指針來調用函數,不知道爲什麼得到結果
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.