若有以下程序 #include #define S(x) (x)*(x) #define T(x) S(x)/S(x)+1 main() { int k=3, j=2; printf("%d,%d\n", S(k+j),T(k+j) ); } 则程序的输

admin2020-11-23  17

问题 若有以下程序
#include
#define S(x) (x)*(x)
#define T(x) S(x)/S(x)+1
main()
{ int k=3, j=2;
printf("%d,%d\n", S(k+j),T(k+j) );
}
则程序的输出结果是( )。

选项 A、25,26
B、25,2
C、11,12
D、11,2

答案A

解析 宏替换只是使用宏名代替一个字符串,是一种机械的置换,所以S(k+j)=(k+j)*(k+j)=25,T(k+j)=S(k+j)/S(k+j)+1=(k+j)*(k+j)/(k+j)*(k+j)+1=26,输出结果为选项A)。
转载请注明原文地址:https://jikaoti.com/ti/e1D0FFFM
0

相关试题推荐
最新回复(0)