1. 前言
使用#把宏參數(shù)變?yōu)橐粋€字符串,用##把兩個宏參數(shù)貼合在一起.
2. 一般用法

3. 注意事項

3.1 舉例

兩句print會被展開為:

分析:
由于AGE是宏,且作為宏toString和conStr的參數(shù),并且宏conStr和toString中均含有#或者##符號,所以A不能被解引用。導致不符合預期的情況出現(xiàn)。
3.2 解決方案


結(jié)果:

責任編輯:xj
原文標題:C語言中"#"和"##"的用法
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
C語言
+關注
關注
183文章
7646瀏覽量
146096 -
編程
+關注
關注
90文章
3723瀏覽量
97424
原文標題:C語言中"#"和"##"的用法
文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
熱點推薦
c語言中的代碼優(yōu)化
放在寄存器中,但最終該變量可能由于條件不知足并未成為寄存器變量,而是被放在了存儲器中,但編譯器中并不報錯(在C++語言中有另外一個\"建議\"型關鍵字:inline)。
下面
發(fā)表于 01-12 09:45
單片機c語言中定義字節(jié)怎么定義?
定義位可以用***it但是定義字節(jié)呢?還有就是比如匯編中的DPTR的DPH和DPL在c語言中怎樣定義的呢?
發(fā)表于 12-29 06:32
C語言與C++的區(qū)別及聯(lián)系
創(chuàng)建源文件時什么都不給,默認是.cpp。
3、返回值
C語言中,如果一個函數(shù)沒有指定返回值類型,默認返回int類型;C++中,如果一個函數(shù)沒有返回值則必須指定為void。
4、參數(shù)列表
在
發(fā)表于 12-24 07:23
C語言中一些令人震驚的結(jié)構介紹
C語言同意一些令人震驚的結(jié)構,下面的結(jié)構是合法的嗎,如果是它做些什么?
int a = 5, b = 7, c;
c = a+++b;
考察點:
這個問題將作為這個測驗的一
發(fā)表于 12-23 08:15
Typedef在C語言中的應用
Typedef 在C語言中頻繁用以聲明一個已經(jīng)存在的數(shù)據(jù)類型的同義字。也可以用預處理器做類似的事。例如,思考一下下面的例子:
#define dPS struct s *
typedef
發(fā)表于 12-22 13:53
C語言的分支結(jié)構介紹
1.簡單if語句
C語言中的分支結(jié)構語句中的if條件語句。
簡單if語句的基本結(jié)構如下:
代碼語言:javascript
if(表達式)
{
執(zhí)行代碼塊;
}
其語義是:如果表達式的值為真,則執(zhí)行其后的語句,否則不執(zhí)
發(fā)表于 11-25 07:48
C語言的常量介紹
、-13;
實型常量:13.33、-24.4;
字符常量:‘a(chǎn)’、‘M’
字符串常量:”I love china!”
在C語言中,可以用一個標識符來表示一個常量,稱之為符號常量。符號常量在使用之前必須先
發(fā)表于 11-24 07:12
C語言的printf基本用法介紹
, c=%c, money=%fn\", 100, \'@\', money);
return 0;
}
輸出結(jié)果與上面相同。
在以后的編程中,我們會經(jīng)常使用 printf,說它是C語
發(fā)表于 11-12 07:04
Windows環(huán)境下32位匯編語言中文資料
電子發(fā)燒友網(wǎng)站提供《Windows環(huán)境下32位匯編語言中文資料.rar》資料免費下載
發(fā)表于 06-30 15:14
?0次下載
提高篇——C語言核心技術(中文版)
該資料是“C編程語言”和“C語言鏈接庫”的完整參考手冊。這本書的目的是提供一本方便、可靠的手冊,輔助日常的編程工作。本書描述C
發(fā)表于 06-13 16:39
深入理解C語言:C語言循環(huán)控制
改變程序的執(zhí)行流程,使代碼更加靈活和可控。本文將詳細介紹這些語句的作用及其應用場景,并通過示例代碼進行說明。Part.1break語句C語言中break語句有兩種
C語言中的#和##的用法
評論