首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序; void f(int *x,int *y) { int t; t=*x; *x=*y; *y=t; } main() { int a[8]={1,2,3,4,5,6
有以下程序; void f(int *x,int *y) { int t; t=*x; *x=*y; *y=t; } main() { int a[8]={1,2,3,4,5,6
admin
2009-01-15
40
问题
有以下程序; void f(int *x,int *y) { int t; t=*x; *x=*y; *y=t; } main() { int a[8]={1,2,3,4,5,6,7,8},i,*p,*q; p=a; q=&a[7]; while (p>q) { f(p,q);p++; q--; } for(i=0;i<8; i++) printf("%d,",a
); } 程序运行后的输出结果是( )。
选项
A、8,2,3,4,5,6,7,1,
B、5,6,7,8,1,2,3,4,
C、1,2,3,4,5,6,7,8,
D、8,7,6,5,4,3,2,1,
答案
8
解析
本题程序开头定义了一个函数f(),在函数中用一个临时变量t交换了两个指针参数所指的地址内容,所以该函数的作用就是交换两个参数所指的内容。在主函数中,首先定义了一个int型数组a,并定义了两个血型指针p、q分别指向数组a的第一个元素和最后一个元素。然后使用一个 while循环调用函数f()不断交换两个指针所指的内容,每次交换后p往后移动一个元素,q往前移动个元素,直到q不再大于p,即直到两个指针在数组a的中间相遇为止。所以,程序最终运行的结果是数组a中的所有元素全被反序排列一次。故应该选择选项D。
转载请注明原文地址:https://www.kaotiyun.com/show/NFXp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
输入VisualBasic源程序时,若一个命令行中包含两个语句,则两个语句之间的分隔符应使用
下列关于顺序文件的描述中,正确的是( )。
下面关于标准模块的叙述中,错误的是()。
在窗体上没有进行任何属性设置,然后编写如下事件过程,则程序运行结果是()。PrivateSubForm_Load()Fori=1To10sum=sum+iNextiPrint”Sum=”:sumEndSub
输入VisualBasic源程序时,若一个命令行中包含两个语句,则两个语句之间的分隔符应使用
假定Picture1和Text1分别为图片框和文本框的名称,下列不正确的语句是()。
对长度为n的线性表排序,在最坏情况下,比较次数不是n(n一1)/2的排序方法是()。
设有以下定义语句:PrivateTypepointxAsIntegeryAsIntegerEndTypeDimaAspoint下面语句中正确的是
支持子程序调用的数据结构是()。
下列数据结构中,不能采用顺序存储结构的是()。
随机试题
(2011年4月,2010年4月,2009年4月,2008年4月)经营单位定位战略
AS最早的变化发生在
A.咳铁锈色痰B.咳粉红色泡沫痰C.咳吐大量鲜血D.咳大量脓痰E.干咳无痰肺炎球菌肺炎,常伴有()
乙肝经皮肤传播的途径不包括
建筑物施工控制网定位、定向和起算的依据是()。
某网球场2013—2017年利润实现情况如下表所示。请根据上述资料从下列备选答案中选出正确答案。该网球场2017年四季度利润的年距发展速度为()。
针对于社区内的环境和设施问题,社会工作者应采取()策略。
心理健康教育有助于预防精神疾病。
公安队伍建设的终极目标是()。
社会主义市场经济条件下按劳分配的主体是()。
最新回复
(
0
)