湖南移动2018校园招聘:C语言问题,请教.

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 20:50:25
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]);
}

你想问什么呢?
swap1和swap2的功能都是交换两个值,但swap1中传递的是指针,交换后原数组中的值会发生变化,swap2中是传值,交换后并没有将值返回给main函数,自然b[0],b[1]的值不会发生变化,这就是传值与传指针(地址)的区别~

5 3 3 5
楼上的说的对