#進行巨集字串連線,在巨集中
把引數解釋為字串,不可以在語句中直接使用。
在巨集定義中
printf("%s;/n", #s) 會被解釋為
printf("%s;/n", "s")
例如下面的**
code start
#define trace(s) (printf("%s;/n", #s), s) /*注意用逗號而不是分號*/
#include
#include
#include
int main(){
int a=5;
int b=trace(a);
const char *str="hello";
char des[50];
strcpy(des,trace(str));
puts(des);
system("pause");
return 0;
code end
輸出結果為:
a;str;
hello
同時巨集定義又是乙個逗號表示式
,所以拷貝到des裡面的值為後面s也就是str的值。
又比如下面的解釋:
3.巨集的單行定義(少見用法)
#define
a(x) t_##x
#define
b(x) #@x
#define
c(x) #x
我們假設:x=1
,則有: a(1
)------
〉t_1 b(1
)------〉'
1'c(1
)------〉"
1"
js中 , , 號的區別
和 比較若型別不同,先嘗試轉換型別,再作值比較,最後返回值比較結果 而 和 只有在相同型別下,才會比較其值。一.叫做賦值運算子,用來賦值 二.叫做嚴格運算子。嚴格運算子的運算規則如下,1 不同型別值 如果兩個值的型別不同,直接返回false。2 同一類的原始型別值 同一型別的原始型別的值 數值 字串...
python中 號的用法
1 表示乘號 2 表示倍數,例如 def t msg,time 1 print msg time t hi 3 列印結果 列印3次 hi hi hi 3 單個 1 如 parameter是用來接受任意多個引數並將其放在乙個元組中。def demo p print p demo 1,2,3 1,2,3...
巨集定義中 號的作用
1.的作用是,對這個變數替換後,再加雙引號引起來,例如 define a a a,那麼有a 10 10 對空格的處理 a.忽略傳入引數名前面和後面的空格。如 str example1 abc 將會被擴充套件成 str abc b.當傳入引數名間存在空格時,編譯器將會自動連線各個子字串,用每個子字串中...