正确答案: C

10,8,6,4,2,1

题目:有如下程序void f(int *x,int *y){ int t; t=*x;*x=*y;*y=t;}main(){ int a[6]={1,2,4,6,8,10},i,*p,*q; p=a;q=&a[5]; while(p<q) { f(p,q); p++; q--; } for(i=0;i<6;i++) printf("%d,",a[i]);}该程序的输出结果是

解析:题目中给出的程序分为两个部分:主函数main和函数f。在主函数中初始化定义了一个整型数组a,大小为6,并定义了两个数组指针p,q。指针p指向数组第一个元素的地址,指针q指向数组最后一个元素的地址。主函数包含一个while语句,循环条件为p<q,while语句内部先调用了f函数,p、q指针为该函数的实参,随后进行了p++操作和q--,即使p指针指向下一个元素的地址,q指针指向前一个元素的地址。由于是数组存储,必然存在初始时,有p<q,当p>=q时,while语句结束。while语句后面是for语句,该语句的作用是输出数组a[]中所有的数据。

查看原题

举一反三的答案和解析:

  • [单选题]线性表是一个具有n个( )的有限序列。
  • 数据元素

  • 解析:解析:线性表是一个具有n个数据元素的有限序列。

  • [单选题]有以下程序 #includestdio.h> main() {int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=0; for(i=0;i3;i++) for(j=2;j>=i;j--)t+=b[i][j]; printf("%d\n",t); } 程序运行后的输出结果是( )。
  • 8

  • 解析:解析:这道题主要考查的是二维数组的有关知识。在两层for循环语句中,累加上三角元素,所以程序执行的过程为t=b[0][0]+b[0][1]+b[0][2]+b[1][]+b[1][2]+b[2][2]=8。

  • 推荐下载科目: 计算机四级 微软认证 思科认证 JAVA认证 华为认证 计算机一级 职称计算机 计算机操作员中级 计算机辅助设计 LTE认证
    @2019-2026 不凡考网 www.zhukaozhuanjia.com 蜀ICP备20012290号-2