運算子 預算符

2021-09-30 09:51:22 字數 660 閱讀 6553

#也是預處理?是的,你可以這麼認為。那怎麼用它呢? 別急,先看下面例子:

#define sqr(x) printf("the square of x is %d.\n", ((x)*(x)));

如果這樣使用巨集:

sqr(8);

則輸出為:

the square of x is 64.

注意到沒有,引號中的字元 x 被當作普通文本來處理,而不是被當作乙個可以被替換的語言

符號。假如你確實希望在字串中包含巨集引數,那我們就可以使用「#」 ,它可以把語言符號轉

化為字串。上面的例子改一改:

#define sqr(x) printf("the square of "#x" is %d.\n", ((x)*(x)));

再使用:

sqr(8);

則輸出的是:

the square of 8 is 64.

很簡單吧?相信你現在已經明白#號的使用方法了。

和#運算子一樣,##運算子可以用於巨集函式的替換部分。這個運算子把兩個語言符號組合成單個語言符號。看例子:

#define xname(n) x ## n

如果這樣使用巨集:

xname(8)

則會被展開成這樣:

x8看明白了沒?##就是個粘合劑,將前後兩部分粘合起來。

(運算子) 運算子

運算子既可作為一元運算子也可作為二元運算子。備註 unsafe context data guid 00bf87717d88a9fac1afadb796c675da 一元 運算子返回運算元的位址 要求 unsafe 上下文 bool data guid 9efd189df2cfb88799dca08...

JS運算子 算術運算子 比較運算子 賦值運算子

兩邊的變數都是number型別 則是單純的加法運算 當字串出現時 結果是字串型別 字串之後的內容 不論什麼型別 都會被作為字串進行拼接 例子 var num1 10 var num2 20 num num1 num2 var result num1 num2 num1 false console.l...

NOT運算子與 運算子

6.4.2 not運算子與 運算子 對於簡單的條件查詢,not運算子與 運算子的功能幾乎沒有什麼區別,那麼not運算子的優勢體現在 呢?答案是它可以與其他運算子組合使用,這一點是 運算子所不能實現的。在6.4.1節已經介紹了not運算子與in運算子組合使用的例子,下面給出乙個not運算子與betwe...