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語言,我還不太會阿....

--
糟,我還得繼續用它來工作...

4 則留言:

匿名 提到...

New job uses C for coding?

Mango 提到...

好難啊....不知道貴公司還缺程式工人嗎?我是失業的軍人啊...

BTW..你的blog在bloglines有十二個訂戶勒........

Mark 提到...

自從畢業開始工作以來,一直是用C阿...
你是要說"我怎麼會現在才知道嗎?!",你不知道我有多肉嗎... ;p

那十二的訂戶也含我在內.... XD

Whisper Not 提到...

如果你肉, 那我不就更爛?