金石微開
好奇心是能量來源~恆心是我所追求—我的成長與您分享
2014年11月4日 星期二
[C] #define 原來很神奇
在C 語言中前置處理器(Preprocessor)有一個
#define
命令,可以用來取代
字串
。
以下程式輸出的結果為
7,-1 ,
WTF ~_~ ,
Tell me why?
原來#define 是以
字串
的角度,所以今天我寫 square(z + 1) 時,其實代進去時,式子會變成 z+1 * z+1 也就是 3+1 * 3 + 1 ,我們再寫清楚一點,其實它就相當於是 3+(1*3)+1 所以答案就變成 3+3+1 =7 囉。 同理 square(z-1) 代入後變成 3 -1 * 3 - 1 也就是
3-(1*3)-1 =-7 囉 ,切記切記。
沒有留言:
張貼留言
較新的文章
較舊的文章
首頁
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言