Re: [請益] MTK 面試測驗請教

看板Soft_Job作者 (HANA)時間15年前 (2010/06/12 14:51), 編輯推噓2(201)
留言3則, 2人參與, 最新討論串8/14 (看更多)
※ 引述《hanck ( )》之銘言: : 今兒個去MTK面試寫考卷看到兩題題目想跟大家請教一下 : 1. : extern void func1(void); : extern void func2(void); : extern void func3(void); : extern void func4(void); : extern void func5(void); : void main(int n) : { : if n==1 execute func1; : if n==2 execute func2; : if n==3 execute func3; : if n==4 execute func4; : if n==5 execute func5; : } : 保證 n 一定是上面五個數字之一 第一題有想到妖道一點的做法 #define _FUN(X) func##X() #define FUN(s) _FUN(s) void main(int n) { FUN(n); } 不過這招要Preprocessor有支援將n解析回int才行 這招我用dev-c++就跑不過了 一定要用FUN(1)去強制指定才行 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.123.162.35 ※ 編輯: del680202 來自: 122.123.162.35 (06/12 14:53)

06/12 14:53, , 1F
這不行吧...n 不是在 compile 時期決定的
06/12 14:53, 1F

06/12 14:58, , 2F
第一題不能這樣做,n是runtime取值,跟預處理是不同的
06/12 14:58, 2F

06/12 15:01, , 3F
即使是compile時期決定也不行,因為預處理比編譯更早
06/12 15:01, 3F
試了一下 的確不行 ※ 編輯: del680202 來自: 122.123.162.35 (06/12 15:13)
文章代碼(AID): #1C4ow2gf (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1C4ow2gf (Soft_Job)