看板 Soft_Job 關於我們 聯絡資訊
// 1. ======================================================================== void (*f[5])() = { func1, func2, func3, func4, func5 }; void main (int n) { f[n-1](); } // 2. ======================================================================== // 小弟資質愚鈍,是個數學白痴,所以還是採用題目要求的 if (囧) struct { int n; void (*f)(); } tbl[5] = { {33, func1}, {67, func2}, {324, func3}, {231, func4}, {687, func5} }; void main(int n) { for (int i = 0; i < 5; ++i) if (n == tbl[i].n) tbl[i].f(); } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.231.169.245
wouzfer:這樣有比較快嗎... 06/13 04:21
saxontai:請教題意的「最快」所指為何?效率最快?實作最快?etc? 06/13 04:36
saxontai:小弟數學不好,求執行效率有困難,只好求實作效率了。XD 06/13 04:38
sazabijiang:為什麼都沒有出題者想要考"維護最快"的程式 06/13 12:36
sazabijiang:用極精簡難懂的指標語法寫C, 是古時候的高手愛玩的把 06/13 12:37
sazabijiang:戲(我沒有全盤否定指標啦), 讓新手難以看懂他的程式 06/13 12:37
sazabijiang:讓我來出題, 我會出"讓使用者輸入任一整數, 產生九 06/13 12:38
sazabijiang:九乘法表". 絕大多數人都可以快速用雙重迴圈寫出來 06/13 12:38
sazabijiang:但是絕大多數人都不會檢查使用者輸入的數字是否為整數 06/13 12:39
kaikaii:因為那裡是MTK .. XD 06/13 13:18
edward13:MTK不是軟體公司XD 06/16 20:07
han3rd:MTK軟體人不會比硬體人少 不然怎麼做turnkey solution :) 06/01 22:31