我爱橙 发表于 2022-5-17 21:57:19

EX8.16 交换

本帖最后由 我爱橙 于 2022-5-18 22:08 编辑

以下程序的输出结果是

void swap1(int c[])
{
int t;
t=c;
c=c;
c=t;
}
void swap2(int c0,int c1)
{
int t;
t=c0;
c0=c1;
c1=t;
}
int main( )
{
int a={3,5},b={3,5};
swap1(a);
swap2(b,b);
printf("%d %d %d %d\n",a,a,b,b);
return 0;
}


A.√
5 3 3 5


B.×,为什么?两个函数都是交换,为什么结果不是一样的53
5 3 5 3


C.
3 5 3 5


D.
3 5 5 3

wp231957 发表于 2022-5-18 07:47:05

swap2是一个经典的交换失败案例
交换必须要用指针
页: [1]
查看完整版本: EX8.16 交换