看板 Python 關於我們 聯絡資訊
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
pkyosx:你應該去 C_and_CPP 版問才對... 答案是 5-3 = 2 05/14 23:35
pkyosx:ptr[0] = fun_a, ptr[1] = fun_b, 這是 function pointer 05/14 23:36
kenzou:這也蠻妙的,不太懂C卻能跑到Python版問function pointer。 05/15 02:03
fzrmitsul:謝謝樓上的二位前輩,我問錯版了..對不起 05/15 09:55