[問題] 一個c++程式片段問題

看板Python作者 (我的妹妹很可愛)時間16年前 (2009/05/14 23:18), 編輯推噓1(103)
留言4則, 3人參與, 最新討論串1/1
void fun_a(int,int); void fun_b(int,int); void fun_a(int x,int y) {cout<<(x+y)<<endl;} void fun_b(int x,int y) {cout<<(x-y)<<endl;} int main() { int a=5,b=3; void(*ptr[])(int,int)={fun_a,fun_b}; ptr[1](a,b); return(); } 求執行結果 a.8 b.2 c.5 d.3 想請問各位前輩,我看不懂這程式要怎麼代呢? ptr[1](a,b)這是什麼意思呢? 上面那一行*ptr[]是指傳值的意思嗎?? 謝謝各位前輩 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.244.73.2

05/14 23:35, , 1F
你應該去 C_and_CPP 版問才對... 答案是 5-3 = 2
05/14 23:35, 1F

05/14 23:36, , 2F
ptr[0] = fun_a, ptr[1] = fun_b, 這是 function pointer
05/14 23:36, 2F

05/15 02:03, , 3F
這也蠻妙的,不太懂C卻能跑到Python版問function pointer。
05/15 02:03, 3F

05/15 09:55, , 4F
謝謝樓上的二位前輩,我問錯版了..對不起
05/15 09:55, 4F
文章代碼(AID): #1A33PM37 (Python)
文章代碼(AID): #1A33PM37 (Python)