帶參數的宏定義,利用宏參數創建字符串——#運算符


    看看以下兩個宏定義:

#define PSQR(x) printf("The square of x is %d.\n",(x)*(x))

#define PSQR(x) printf("The square of "#x" is %d.\n",(x)*(x))

    我們的目標是希望使用宏的時候將宏體中的x替換為宏參數,但是第一個宏定義是不能完成這樣的目標的,因為引號中的x會被看做是普通文本,不可替換;我們可以采用#運算符來實現這樣的功能。

 

PSQR(x)在兩個不同的宏定義輸出的結果如下:

The square of x is 4.

The square of 2 is 4.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM