1、#構串操作符
# 將右邊的巨集引數做整體的字串替換。
#define string(x) #x#x
#define text(x) "a"#x"a"
int main()
text
(test) --->
巨集展開--->
"a"#test
"a"--->
構造字串--->
"a""test"
"a"--->"atesta"
string
(test) --->
巨集展開--->#test#test--->構造字串--->"test""test" --->"testtest"
輸出:testtest
atesta
注意:#後面必須要跟巨集引數
#define string(x) #x# //報錯,應輸入巨集引數名
2、##合併操作符
## 將左右兩邊的引數做整體的文字拼接替換
#define str_name(name) class##name
#define merge(a,b) a##b##a
#define classtest "cat"
int main()
#define
str_name
(name
) ##name
//報錯:"##"不能為巨集定義第一項
注意:##既不能是巨集定義的第乙個字元,也不能是最後乙個字元
#define
str_name
(name
) name
## //
報錯:"##"不能為巨集定義最後一項
C 巨集定義中 和 的區別
c 巨集定義中 和 的區別 我們用一例項來學習一下c 巨集定義中的 和 的區別。首先我們來定義乙個巨集 define strcpy a,b strcpy a p,b 1.巨集定義裡面有個 表示把字串聯在一起。如 include define cat x,y x y int main 2.巨集定義中的...
巨集定義中 和 的用法
1.前言 使用 把巨集引數變為乙個字串,用 把兩個巨集引數貼合在一起.2.一般用法 include include using namespace std define str s s define cons a,b int a e b int main 3.注意事項 當巨集引數是另乙個巨集的時候,...
巨集定義中 和 符號的使用和巨集定義展開問題
程式如下 include define f a,b a b define g a a define h a g a intmain 答案 第一行 12 第二行 f 1,2 說明 1 關於符號 和 兩個符號都只能用於預處理巨集擴充套件。不能在普通的原始碼中使用它們,只能在巨集定義中使用。簡單的說,是把...