2007年6月16日 星期六

C, 我還不太會阿...

最近才發現原來在C裡頭,字串可以這樣寫...

printf("Hello " "World!");


C compiler會自動把兩個字串merge成一個,中間可以是空白, TAB, 甚至是換行都無所謂...所以也可以寫成..


printf("Hello "
"World!"
"Wa!!! I just don'n know C"
);


為什麼我會發現呢,因為我在某些巨集裡頭發現這種寫法:
#define XXX(a, b) printf("BlaBlaBla:" a ". hahaha!!", b)


覺得超級怪的阿,如果是參數變成字串,也應該長的像是#a阿,怎麼什麼都沒有...
原來是因為上面說的,字串可以直接寫成這樣子的阿...
用法就會像是 XXX("Give me %d", 5);
最後會輸出 "BlaBlaBla:Give me 5. hahaha!!"

對於C語言,我還不太會阿....

--
糟,我還得繼續用它來工作...
張貼留言