c语言程序设计(第1部分)选择
选择题(第一部分)
1、有以下程序
void fun(int a[],int i,int j)
{ int t;
if(ij)
{ t=a[i];a[i]=a[j];a[j]=t;
i++; j--;
fun(a,i,j);
}
}
main()
{ int x[]={2,6,1,8},i;
fun(x,0,3);
for(i=0;i4;i++) printf(%2d,x[i]);
printf(\n);
}
程序运行后的输出结果是______。
A:1 2 6 8
B:8 6 2 1
C:8 1 6 2
D:8 6 1 2
答案:C
评析:
本题考的是函数参数的传递。
当用数组名作函数参数时,数组名代表数组的首地址。fun(x,0,3);是将数组名x作为实参,把数组x的首地址传送给形参(指针a),这样数组x与形参指针a共占同一段内存单元,所以在调用函数期间,如果改变了形参数组x的值,也就改变了实参指针a的值。
另外此题还考了个函数自身的调用,下面是调用fun()函数的运行过程:
a=x,i=0,j=3,判断ij,交换a[i],a[j],此时a[0]到a[3]里面的数分别为8,6,1,2,也即是 x[0]到x[3]中的数值,因为它们共用存储单元;i++; j--后继续调用fun(),此时i,j分别为1,2,
您可能关注的文档
最近下载
- 武汉东湖风景名胜区总体规划(2011-2025)规划文本.doc VIP
- 自考 新思想 15040《新思想》精讲笔记5(第八章).pdf VIP
- TSCDA118-2023 ZC静钻根植先张法预应力混凝土竹节桩.pdf
- GB51400-2020 看守所建筑设计标准.pdf VIP
- 人工智能训练师(4级)操作技能复习题.docx VIP
- 机械制图培训课件.ppt VIP
- 半导体设备行业系列报告之九:自主可控向上游深化,半导体零部件有望复刻设备成长.pdf VIP
- 自考 新思想 15040《新思想》精讲笔记4(第六章和第七章).pdf VIP
- NB T31053-2021风电机组电气仿真模型验证规程.pdf VIP
- 自考 新思想 15040《新思想》精讲笔记3(第四章和第五章).pdf VIP
原创力文档

文档评论(0)