若有以下程序 #defineS(x)x*x #defineT(x)S(x)*S(x) main( ){ intk=5,j=2; printf(’’%d,%d\n’’,S(k+j),T(k+j));} 则程序的输出结果是

admin2014-06-19  34

问题 若有以下程序
#defineS(x)x*x
#defineT(x)S(x)*S(x)
main(    ){
intk=5,j=2;
printf(’’%d,%d\n’’,S(k+j),T(k+j));}
则程序的输出结果是

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

答案A

解析 本题考查了宏替换,宏替换就是简单的字符替换,不会进行语法错误检查也不会进行运算。s(k+j)宏展开以后为k+j*k+j,值为17,T(k+j)宏展开以后为k+j*k+j*k+j*k+i,值为37。
转载请注明原文地址:https://kaotiyun.com/show/biJp777K
0

最新回复(0)