首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: #include<stdio.h> int m=1,n=2; void sub1(int m,int n) {m+=2;n++;} void sub2() {m++;n+=2;} main() {printf("%d,%d,",m,n); s
有以下程序: #include<stdio.h> int m=1,n=2; void sub1(int m,int n) {m+=2;n++;} void sub2() {m++;n+=2;} main() {printf("%d,%d,",m,n); s
admin
2021-04-28
11
问题
有以下程序:
#include<stdio.h>
int m=1,n=2;
void sub1(int m,int n)
{m+=2;n++;}
void sub2()
{m++;n+=2;}
main()
{printf("%d,%d,",m,n);
sub1(4,5);
printf("%d,%d,",m,n);
sub2();
printf("%d,%d\n",m,n);
}
程序运行后的输出结果是( )。
选项
A、1,2,1,2,2,4
B、1,2,6,6,7,8
C、1,2,2,4,2,4
D、l,2,6,6,2,4
答案
A
解析
全局变量与函数体内局部变量同名时,局部变量会覆盖全局变量,因此在subl()函数内,全局变量m,n是不可见的,在函数sub1()对m,n操作的是局部变量,对全局变量不产生影响。但在sub2()函数内,由于没有和全局变量变量重名,因此在此函数内,m,n是可见的。因此,第一个printf()打印的是全局变量m,n,故打印的是1,2,第二个printf(),调用sub1(),没有修改全局变量m,n.故打印的是1,2,第三个printf(),之前调用了sub2(),修改了全局变量m,n。因此,打印的是2,4。故答案为A选项。
转载请注明原文地址:https://www.kaotiyun.com/show/TCtp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序voidfun1(char宰P)main(){char*q;{chara[]={"Program"),*p;q=p;
下面不属于软件设计阶段任务的是
以下叙述中正确的是
数据库系统的三级模式不包括
设有定义语句:char*aa[2]={"abcd","ABCD"};则以下叙述正确的是
下面选项中关于位运算的叙述正确的是
数据库系统的三级模式不包括()。
用树形结构表示实体之间联系的模型是
非空循环链表所表示的数据结构
随机试题
急性红白血病细胞化学染色可见
一般不会引起I型超敏反应的物质
欧盟2001年10月起对来自中国等多个国家的针叶木质包装采取紧急检疫措施,以防止()传入欧盟。
内部招聘存在的不足之处有()。
房屋租赁具有下列特征()。
小型分散,便于开展多种多样的活动,满足学生不同的兴趣、爱好,发展学生的才能,使学生得到更多的学习和锻炼的机会。这种课外活动的形式是()。
A、 B、 C、 D、 A
设随机变量X与Y相互独立且分别服从正态分布N(μ,σ2)与N(μ,2σ2),其中σ是未知参数且σ>0,设Z=X—Y。求Z的概率密度f(z;σ2)。
在数据管理技术发展的三个阶段中,数据共享最好的是( )。
What’stheprobablerelationshipbetweenthetwospeakers?
最新回复
(
0
)