有沒有辦法在宏中檢查數值相等?C宏:#if檢查是否相等
我要像做
#define choice 3
#if choice == 3
....
#endif
#if choice == 4
...
#endif
不C宏有這樣的事情支持嗎?
有沒有辦法在宏中檢查數值相等?C宏:#if檢查是否相等
我要像做
#define choice 3
#if choice == 3
....
#endif
#if choice == 4
...
#endif
不C宏有這樣的事情支持嗎?
的確應該有效。請參閱http://gcc.gnu.org/onlinedocs/cpp/If.html#If
該參考文獻是準確的,但用「標準格式」編寫: 抽象地沒有示例。
據我所知應該工作。你使用什麼編譯器?注:僅供參考,定義名稱通常用大寫字母表示!
#define CHOICE 3
另一種方式來寫你的代碼使用鏈式#elif
指令:
#if choice == 3
...
#elif choice == 4
...
#else
#error Unsupported choice setting
#endif
注意,如果choice
不#defined
,預處理器將其視爲具有價值0
。
你的編譯器告訴你什麼? – Christoph 2010-02-20 22:15:35
更好的是,教科書/參考書是怎麼說的? – 2010-02-20 22:55:39