[問題] 利用傳遞參數的方式,選擇性地執行 function

看板C_and_CPP (C/C++)作者 (奶油焗蛋餃...:))時間16年前 (2009/07/17 01:00), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
小弟最近寫 C 遇到一個問題: 假設要撰寫一個 function 可接收函式名稱 (參數為字串類型), 來決定接下來要執行哪一個 function 這樣子,在 C 裡面是可行的嗎? 利用函式指標的方式我有想過,但是礙於我必須要用"傳遞字串"的方式來實作 所以這招好像還是不行...:( 以下是我想像中的程式碼: main() { A("A1"); /* 想透過 A() 來執行 A1() */ A("A2"); /* 想透過 A() 來執行 A2() */ } A(char *func_name) { /* 不知道怎麼根據傳入的 func_name,來決定是要跑 A1() 或 A2() */ } A1() { printf("this is A1().\n"); } A2() { printf("this is A2().\n"); } 瓶頸卡在 A() 之中不知道該如何實作出來 想請教一下各位高手有何意見? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.117.72.70

07/17 01:13, , 1F
switch(*f_n) {case 'A': switch(*(f_n+1))..? if也可吧
07/17 01:13, 1F

07/17 01:28, , 2F
http://tinyurl.com/mhvnko 用function pointer
07/17 01:28, 2F

07/17 01:28, , 3F
看完就懂了
07/17 01:28, 3F
文章代碼(AID): #1ANroM8- (C_and_CPP)
文章代碼(AID): #1ANroM8- (C_and_CPP)