问题 单项选择题

有以下程序的输出结果是( )  void swap1(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};    swap1(a); swap2(b[0],b[1]);    printf(“%d %d %d %d\n”,a[0],a[1],b[0],b[1]); }

A.5 3 5 3

B.5 3 3 5

C.3 5 3 5

D.3 5 5 3

答案

参考答案:B

解析:在本题函数的调用中,swap2()不会改变实参的值,swapl()改变了实参的值。

改错题
单项选择题