有以下程序 #include <stdio.h> #define S(x) x*x/x main( ) { int k = 6, j = 3; printf("%d,%d\n", S(k+j+2), S(j+k+2)); } 程序运行后的输出结果是

admin2020-04-18  24

问题 有以下程序
#include <stdio.h>
#define S(x) x*x/x
main( )
{  int k = 6, j = 3;
   printf("%d,%d\n", S(k+j+2), S(j+k+2));
}
程序运行后的输出结果是

选项 A、11,11
B、29,29
C、26,29
D、121,121

答案B

解析 #define命令是C语言中的一个宏定义命令,标识符一般使用大写,为了区分其他标识符,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本。宏定义不进行其他操作,仅仅只是替换标识符。S(k+j+2)=k+j+2*k+j+2/k+j+2,经计算可得29,S(j+k+2)=j+k+2*k+j+2/j+k+2,计算可得29。因此输出为29,29。答案为B选项。
转载请注明原文地址:https://jikaoti.com/ti/1WG0FFFM
0

最新回复(0)