程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 宏定義的使用

宏定義的使用

編輯:關於C語言

#define N 3

#define Y(n) ((N+1)*n)

printf("%d\n", 2*(N+Y(5+1)));的結果是多少?

不是很簡單麼當然是2*(3+4*6) = 54麼,恭喜你錯了。

請繼續想清楚再往後看。

首先N = 3;

那麼先把所有用到N的地方都換成3

現在是

#define Y(n) ((N+1)*n)  ->  Y(n) (4*n)

然後關注表達式:2*(N+Y(5+1))

2*(N+Y(5+1))  ->  2*(3+Y(5+1))

Y(5+1)  ->  4*5+1

所以,2*(3+Y(5+1))  -> 2*(3+4*5+1)  ->  48

重點就在於這個宏命令,不要想當然的先計算,後代入。

豁然開朗的繼續去查查C語言的宏命令,會秒懂更多東西。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved