下列程序的輸出結(jié)果是#include"stdio.h"#defineM(x,y)x%ymain(){int a,m=12,n=100;a=M(n,m);prin
下列程序的輸出結(jié)果是 #include"stdio.h" #define M(x,y) x%y main() { int a,m=12,n=100; a=M(n,m); printf("%d\n",a--);}
A.2
B.3
C.4
D.5
正確答案:C解析: 帶參數(shù)的宏定義命令行形式如下: #define宏名(形參表)替換文本在編譯的時候編譯預處理程序用“替換文本”來替換宏,即M(n,m)被替換為n%m,之后計算,將計算的結(jié)果賦給a。注意,宏替換是在編譯時由預處理程序完成的,宏替換不占用運行的時間,而函數(shù)調(diào)用是在程序運行時進行的,在函數(shù)的調(diào)用過程中需要占用一系列的處理時間。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。