A-A+

若有以下程序 defineS(x)x*x defineT(x)S(x)*S(x) main(

2022-08-12 18:50:30 问答库 阅读 197 次

问题详情

若有以下程序 defineS(x)x*x defineT(x)S(x)*S(x) main(){ intk=5,j=2; printf(%d,%dn,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。

考点:程序