首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 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;
有以下程序 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;
admin
2013-02-23
73
问题
有以下程序 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
解析
在C语言中,函数参数的默认传递方式是传值,即函数内部的形参只是调用时的实参的一个拷贝,改变形参,实参不会被改变.如果想要实现传址调用只能使用传递指针的方式来实现.利用指针作函数的参数时,无论形参指针还是实参指针所指的都是同一个内存地址,所以形参如果改变了这个地址中的内容,也就是改变了实参所指的地址内容.本题程序开头定义了一个函数f(),在函数中用一个临时变量t交换了两个指针参数所指的地址内容,所以该函数的作用就是交换两个参数所指的内容。在主函数中,首先定义了一个int型数组a,并定义了两个int型指针p、q分别指向数组a的第一个元素和最后一个元素。然后使用一个while循环调用函数f()不断交换两个指针所指的内容,每次交换后p往后移动一个元素,q往前移动一个元素,直到q不再大于p,即直到两个指针在数组a的中间相遇为止。所以,程序最终运行的结果是数组a中的所有元素全被反序排列一次。故应该选择选项D。
转载请注明原文地址:https://kaotiyun.com/show/PhJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若w=l,x=2,y=3,z=4,则条件表达式w<x?w:y<z?y:z的值是
若变量n中的值为24,则print函数共输出【】行,最后一行有【】个数。voidprint(intn,intaa[]){inti;for(i=1;i<=n;i++){printf("%6d"
当输入的数据为2、5时,则下列程序的运行结果为【】。#include<stdio.h>#definemax100main(){intf[max],i,j,k,m;scanf("%d%d",&k,&m);for(i
若已定义x为int类型变量,说明指针变量p的正确语句是______。
软件(结构)设计阶段产生的文档是______。
X、Y、Z被定义为int型变量,若从键盘给X、Y、Z输入数据,正确的输入语句是______。
在数据管理技术发展过程中,文件系统与数据库系统的本质区别是:数据库系统具有______。
选择程序中的输入输出语句,以满足题目给定的输入输出数据形式。main(){inta;floatb;【】【】}输入形式:3.52<空格>6<回车>输出形式:a*b=21.12
下述关于数据库系统的叙述中正确的是()
数据的逻辑结构有线性结构和______两大类。
随机试题
求函数f(x,y)=xecosy+的极值.
企业广告诉求的基点是()
(2010年)钢板用两个铆钉固定在支座上,铆钉直径为d,在图5-12所示载荷下,铆钉的最大切应力是()。
污水生物处理的微生物一般最佳的pH值范围为()。
为了规范招投标活动,保护国家利益、社会公众利益和招标投标活动当事人的合法权益,提高经济效益,保证项目质量,全国人民代表大会于()通过了《中华人民共和国招标投标法》。
我国心理学通常把学生的学习分为知识的学习、技能的学习和______的学习三类。
党员:干部:青年
下列描述α错误和β错误正确的选项是()
设n阶矩阵A满足A2+2A一3E=O.求:(A+4E)-1.
In1812,theUnitedStatesfoughtthefirstwarwith______afteritbecameanindependentnation.
最新回复
(
0
)