柠檬试题库
search
首页
计算机
公务员
驾照
关于
share
有以下程序 #include
#define S(x) x*x main() { int k=5, j=2; printf("%d,%d\n", S(k+j+2),S(j+k+2)); } 程序的运行结果是
A.21,18
B.81,81
C.21,21
D.18,18
热度🔥796
参考答案:A
解析:
【解析】带参数的宏的调用格式:宏名(实参表),替换过程是,用宏调用提供的实参字符串,直接置换宏定义命令行中相应形参字符串,非形参字符保持不变。S(k+j+2)被置换成k+j+2*k+j+2,计算时先计算2*k,结果为21;S(j+k+2)被置换成j+k+2*j+k+2,计算时先计算2*j,结果为18。程序的运行结果是21,18,A选项正确。
复制题目向AI提问
content_copy
content_copy
扫码免费计算机二级刷题
2025年计算机等级考试题库
推荐
下列不属于窗口事件的是
关于分布式数据库,下列说法正确的是()。
下列删除VLAN的命令中,无法执行的是()
对于以下程序 if ( a > 0 and b > 0 ) then c = c/a; if ( a > 1 or c > 1 ) then c = c+1; 执行条件组合覆盖,为使得每一条件取值组合至少执行一次,需要的测试用例数是
标签
二级C语言
18
21
k+j+2
结果