首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序; 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
31
问题
有以下程序; 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://kaotiyun.com/show/NFXp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
输入VisualBasic源程序时,若一个命令行中包含两个语句,则两个语句之间的分隔符应使用
设子程序过程定义的首部为:PublicSubS(XAsInteger,YAsSingle)则以下正确的调用形式为
下列程序的执行结果为()。n=0j=1DoUntiln>2n=n+1:j=j+n*(n+1)LoopPrintn:i
结构化程序设计的基本原则不包括( )。
下面不能在信息框中输出”VisualBasic”的是()。
有如下数据定义语句:DimX,YAsInteger以上语句表明( )。
在程序中要使用Array函数给数组arr赋初值,则以下数组变量定义语句中错误的是( )。
对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为
负责数据库中查询操作的数据库语言是
下列数据流图(DFD)构造规则中正确的是()。
随机试题
公共权力
关于小肠的解剖生理,下列哪项是错误的
男,47岁,上腹部疼痛不适、腹胀,皮肤巩膜黄疸,进行性加重,皮肤瘙痒。声像图如下图所示,最可能的诊断为
提出“夫画者,成教化,助人伦,穷神变,测幽微”的著作是()。
关于对教师依法进行表彰,以下说法错误的是()。
社区服务站是非营利性公共服务机构,要坚持“依法、公开、高效、便民”的工作原则,为社区居民提供优质服务。()
假定其他条件不变,下列因素中不会导致货币升值的是()。
[*]
关系数据库规范化的目的是()
Isadog______animal?
最新回复
(
0
)