C語言中的 與

2021-05-01 17:26:28 字數 591 閱讀 2123

## 連線符號由兩個井號組成,其功能是在帶引數的巨集定義中將兩個子串(token)聯接起來,從而形成乙個新的子串。但它不可以是第乙個或者最後乙個子串。所 謂的子串(token)就是指編譯器能夠識別的最小語法單元。具體的定義在編譯原理裡有詳盡的解釋,但不知道也無所謂。同時值得注意的是#符是把傳遞過來 的引數當成字串進行替代。下面來看看它們是怎樣工作的。這是msdn上的乙個例子。 

假設程式中已經定義了這樣乙個帶引數的巨集: 

#define paster( n ) printf( "token" #n " = %d", token##n ) 

同時又定義了乙個整形變數: 

int token9 = 9; 

現在在主程式中以下面的方式呼叫這個巨集: 

paster( 9 ); 

那麼在編譯時,上面的這句話被擴充套件為: 

printf( "token" "9" " = %d", token9 ); 

注意到在這個例子中,paster(9);中的這個」9」被原封不動的當成了乙個字串,與」token」連線在了一起,從而成為了token9。而#n也被」9」所替代。 

可想而知,上面程式執行的結果就是在螢幕上列印出token9=9

C語言中的if與else if

今天發現乙個比較不理解的 是關於else if這個判斷語句的 如下 includeint a 2 int main void else if a 0 return0 看著很簡單的樣子,其實細看會發現,當a 1的時候滿足的是第乙個條件if a 1 但是同時也滿足else if a 0 這個條件,程式是...

C語言與C 語言中的標頭檔案

標頭檔案 在c語言家族程式中,標頭檔案被大量使用。一般而言,每個c c程式通常由標頭檔案 header files 和定義檔案 definition files 組成。標頭檔案作為一種包含功能函式 資料介面 宣告的載體檔案,用於儲存程式的宣告 declaration 而定義檔案用於儲存程式的實現 i...

C語言中的與或操作

總計 個按鍵,判斷是否全部按完,通過與或操作完成 include include define key sum 1 0 1 1 1 2 1 3 1 4 1 5 define key 1 1 0 define key 2 1 1 define key 3 1 2 define key 4 1 3 de...