有以下程序 void swapl(int c0[],int c1[] { int t; t=c0[0]; c0[0]=c1[0]; c1[0]=t; } void swap2 (int *c0

admin2009-01-15  22

问题 有以下程序   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

答案8

解析 本题考查的是数组名和指针用作函数的参数。在C语言中,函数参数使用数组形式和指针形式两者毫无差别。因此两个函数swap1()和swap2()的作用是完全一样的,都是交换两个参数所指的内容。主函数中分别使用swap1和swap2交换数组a[2]和b[2]中两个元素的位置。因此最终输出为:5 3 5 3。故应该选择D。
转载请注明原文地址:https://kaotiyun.com/show/nIXp777K
0

最新回复(0)