以下程序的输出结果是( )。 #deftne S(x)x*x #define T(x)S(x)*S(x) main(){int k=5,j=2; printf(’’%d,%d\n’’,S(k+j),T(k+j));}

admin2017-10-24  21

问题 以下程序的输出结果是(  )。
#deftne S(x)x*x
#define T(x)S(x)*S(x)
main(){int k=5,j=2;
printf(’’%d,%d\n’’,S(k+j),T(k+j));}

选项 A、17,37
B、49,289
C、17,289
D、49,2401

答案A

解析 本题考查了宏替换,C语言中的宏替换不会进行语法错误检查也不会进行运算。“S(k+i)”宏展开以后为“k+j*k+j”,值为17,“T(k+j)”宏展开以后为“k+j*k+j*k+j*k+j”值为37。
转载请注明原文地址:https://kaotiyun.com/show/rbxp777K
0

最新回复(0)