有以下程序: void swap 1(int c[]) {int t; t=c[0];c[0]=c[1];c[1]=t; } void swap2(int c0,int c1) { int t; t=c0;c0=c

admin2013-02-23  17

问题 有以下程序:
   void swap 1(int c[])
   {int t;
   t=c[0];c[0]=c[1];c[1]=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};
   swaplA);swap2(b[0],b[1]);
   printf("%d,%d,%d,%d\n",a[0],a[1],b[0],b[1]);
   }
   其输出结果是【  】。

选项

答案53 3 5

解析 函数swap1的形参是数组,故形参的改变能够影响实参,所以执行完swap1(a)后,a[0]=5、a[1]=3;函数 swap2的形参是简单变量,故形参的改变不能够影响实参,所以执行完swap2(b)后,b[0]=3、b[1]=5;正确答案为53 3 5。
转载请注明原文地址:https://kaotiyun.com/show/COPp777K
0

最新回复(0)