有以下程序#include <stdio.h>#define P 24;#define S(x) P*x+x;main(){ int a=2, b=
有以下程序#include <stdio.h>#define P 24;#define S(x) P*x+x;main(){ int a=2, b=2; printf("%d\n",S(a+b));}程序的運行結(jié)果是A.程序編譯運行時報錯,無法輸出 B.54 C.96 D.100
正確答案:A本題主要考查宏的定義。宏定義用一個標(biāo)識符來表示一個字符串,這個字符串可以是常量、變量或表達式。在宏調(diào)用中將用該字符串代換宏名。宏定義中,我們主要需要注意以下幾點:(1)同一宏名不能重復(fù)定義,除非這兩個宏定義命令行完全一致。(2)定義宏時,記得其結(jié)尾處不要用分號隔開。(3)替換帶參數(shù)的宏名時,一對圓括號必不可少,圓括號中實參個數(shù)應(yīng)該與形參個數(shù)相同,若有多個參數(shù),它們之間用逗號隔開。(4)宏定義中的字符串應(yīng)加括號,字符串中出現(xiàn)的形式參數(shù)兩邊也應(yīng)加括號。在本題中,定義宏時,出現(xiàn)了一個明顯的錯誤,即在宏的定義后
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。