柠檬试题库
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
热度🔥799
参考答案: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年计算机等级考试题库
推荐
有三个关系R,S和T如下: 则由关系R和S得到关系T的操作是
WLAN标准802.11a将传输速率提高到()。
运动会中一个运动项目可以有多名运动员参加,一个运动员可以参加多个项目。则实体项目和运动员之间的联系是( )。
设有一个栈与一个队列的初始状态均为空。现有一个序列A,B,C,D,E,F,G,H,先分别将序列中的前4个元素依次入栈,后4个元素依次入队;然后分别将栈中的元素依次退栈,再将队列中的元素依次退队。最后得到的序列为( )。
标签
二级C语言
18
21
k+j+2
结果