问题
单项选择题
有以下程序
void swapl(int c0[],int c1[]
int t;
t=c0[0];
c0[0]=c1[0];
c1[0]=t;
void swap2 (int *c0,int *c1)
int t;
t-*c0;
*c0=*c1;
*c1=t;
main()
int a[2]=3,5, b[2]=3,5
swapl(a,a+1);
swap2(&b[0],&b[1]);
printf("%d %d %d %d\n",a[0],a[1],b[0],b[1]);
程序运行后的输出结果是
A.3 5 5 3
B.5 3 3 5
C.3 5 3 5
D.5 3 5 3
答案
参考答案:D
解析: 本题考查的是数组名和指针用作函数的参数。在C语言中,函数参数使用数组形式和指针形式两者毫无差别。因此两个函数swap1()和swap2()的作用是完全一样的,都是交换两个参数所指的内容。主函数中分别使用swap1和swap2交换数组a[2]和b[2]中两个元素的位置。因此最终输出为:5 3 5 3。故应该选择D。