作者del680202 (HANA)
看板Soft_Job
標題Re: [請益] MTK 面試測驗請教
時間Sat Jun 12 14:51:43 2010
※ 引述《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)
推 bobhsiao:這不行吧...n 不是在 compile 時期決定的 06/12 14:53
推 loveflames:第一題不能這樣做,n是runtime取值,跟預處理是不同的 06/12 14:58
→ loveflames:即使是compile時期決定也不行,因為預處理比編譯更早 06/12 15:01
試了一下 的確不行
※ 編輯: del680202 來自: 122.123.162.35 (06/12 15:13)