首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 #include <stdio.h> #define S1(z)4*z+4*(z) #define S2(x,y)4*(x)*(y)+y*x main() { int a=1,b=2; printf("%d,",S1(a+b
有以下程序 #include <stdio.h> #define S1(z)4*z+4*(z) #define S2(x,y)4*(x)*(y)+y*x main() { int a=1,b=2; printf("%d,",S1(a+b
admin
2022-04-01
23
问题
有以下程序
#include <stdio.h>
#define S1(z)4*z+4*(z)
#define S2(x,y)4*(x)*(y)+y*x
main()
{ int a=1,b=2;
printf("%d,",S1(a+b));
printf("%d,",S2(a,b)+S1(3));
printf("%d",S2(3+a,b+3));
}
程序执行后的输出结果是( )。
选项
A、18,34,100
B、24,34,92
C、24,34,100
D、18,34,92
答案
D
解析
程序中S1和S2都是宏定义,所以S1(a+b)宏展开后的表达式为:4*a+b+4*(a+b),4*1+2+4*(1+2),结果为18;S2(a,b)宏展开的表达式为:4*(a)*(b)+b*a,即4*(1)*(2)+2*1,结果为10;S1(3)宏展开后的表达式为:4*3+4*(3),结果为24;S2(3+a,b+3)宏展开的表达式为:4*(3+a)*(b+3)+b+3*3+a,即4*(3+1)*(2+3)+2+3*3+1,结果为92,本题输出:18,34,92,故本题答案为D。
转载请注明原文地址:https://kaotiyun.com/show/Z2kp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下选项中与iffa:1)a=b;elsea++;语句功能不同的switch语句是
下列叙述中正确的是
若有定义语句:chars[10]="1234567\0\0";则strlen(s)的值是()。
下列叙述中正确的是
下列关于栈的叙述中正确的是()。
设有定义doublea[10],*s=a;以下能够代表数组元素a[3]的是
下面选项中的程序段,没有编译错误的是
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,函数fun的功能是:统计substr所指的字符串在str所指的字符串中出现的次数。例如,若字符串为aaas1kaaas,
在满足实体完整性约束的条件下()。
下面对软件测试描述错误的是
随机试题
(2011年4月)法国某公司于2005年9月8日在法国提出一项产品发明的专利申请,2006年4月26日又在中国就相同产品发明提出专利申请,2008年8月7日中国国务院专利行政部门授予该发明专利权。该专利权保护期的届满日是()。
适用于0~6个月婴幼儿的行为测听方法为
关于隧道工程采用掘进机施工,下列说法正确的是()。
对于某项会计事项的变更,如果难以区分其属于会计政策变更还是会计估计变更时,企业应()。
从事生产、经营的纳税人应自领取营业执照之日起()内,持有关证件向主管税务机关申报办理税务登记。
在对培训与开发效果进行评估时,属于结果评估指标中的硬指标是()。
编制合并报表时,对于内部交易形成的固定资产在超期清理期间的抵销,下列处理正确的是()。
设f(x,y)在点(0,0)的某邻域内连续,且满足=一3,则函数f(x,y)在点(0,0)处().
ReadtheinformationbelowaboutmakinginternationalpaymentsthroughtheInternet.Choosethecorrectwordtofilleachgap,f
Manythoughtfulparentswanttoshieldtheirchildrenfromfeelingsofguiltorshameinmuchthesamewaythattheywanttospa
最新回复
(
0
)