首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 #include <stdio.h> #define SUB(x,y)(x)*(y) main() { int a=3,b=4; printf("%d\n",SUB(a++,b++)); } 程序运行后的输出结果是(
有以下程序 #include <stdio.h> #define SUB(x,y)(x)*(y) main() { int a=3,b=4; printf("%d\n",SUB(a++,b++)); } 程序运行后的输出结果是(
admin
2022-04-01
37
问题
有以下程序
#include <stdio.h>
#define SUB(x,y)(x)*(y)
main()
{ int a=3,b=4;
printf("%d\n",SUB(a++,b++));
}
程序运行后的输出结果是( )。
选项
A、15
B、12
C、16
D、20
答案
B
解析
#define命令是C语言中的一个宏定义命令,标识符一般使用大写,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本。宏定义不进行其他操作,仅仅只是替换标识符。后置自增运算:a++表示先运算,后自加。意思是遇到a++了,先把当前的k的值拿来参加运算,后面再去管它的自加。SUB(a++,b++)→(a++)*(b++)=3*4。故答案为B选项。
转载请注明原文地址:https://kaotiyun.com/show/p2kp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下选项中的编译预处理命令行,正确的是()。
下列选项中,能正确定义数组的语句是()。
以下程序的输出结果是()。voidfun(intn,int*s){intf;if(n==1)*s=n+1;else{fun(n一1,&f);*s=f;}}main(){intx=0;fun(4,&x);printf(’’%d\n’
若有定义:doublea=22;inti=0,k=18;则不符合C语言规定的赋值语句是
若程序中有宏定义行:#defineN100则以下叙述中正确的是
若变量已正确定义for(x=0,y=0;(y!=99&&x<4);x++)则以上for循环
有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为
在学生管理的关系数据库中,存取一个学生信息的数据单位是
设有以下函数:voidfun(intn,char*s){…},则下列对函数指针的定义和赋值均正确的是()。
在数据库设计中,将E-R图转换成关系数据模型的过程属于
随机试题
骨髓增生程度判断是根据下列哪种细胞的比例
CT扫描对复杂骨关节结构显示清晰。关于双膝关节CT扫描,下列错误的是
A.偏头痛B.三叉神经痛C.神经衰弱D.癔症E.中暑头痛病因中属颅外疾病的是
我国《担保法》规定的担保形式有()。
普通股股票的收益不包括()。
素质教育区别于应试教育的根本所在是()。
下列关于近代警察管理体制的形成过程的叙述,正确的有()。
我国古代文献中记载了许多有关部落和部落联盟之问发生大规模战争的传说,如炎帝和黄帝两个部落曾战于(),结果黄帝取得了胜利。
以下不属于网络安全评估内容的是()。
That______meofthedaysIspentinthecountryside.
最新回复
(
0
)