方法一是传过去的数组,
两个方法都进行了值的交换,你理解的没错
但是方法一是穿过去的数组,c[]读取到数组a的地址,和地址对应的数据,a[0]所对应的存储地址重新赋值为a[1]地址所对应的数据即5,该地址数据为5同样将a[1]地址所对应的数据赋值为3
方法2是穿过去两个参数,参数值进行了交换,c0 = 5,c1 = 3但是这不影响原数组b啊,是吧,b[0]对应的值仍然是3没有重新赋值啊
答案是D
swap1()是传递的地址。所以对该形参c的改变会影响实参,该函数 的作用就是将数组c的第一个元素与第二个元素的值互换,所以是5,3。
swap2()是值传递的,所以该函数执行后对数组无影响,所以是3,5.
答案就是5 3 3 5
就是一个交换函数啊,前面的swap1和swap2是在定义两个函数。后边主函数main直接调用这两个函数。
swap1是定义的一维数组的交换,交换两个值,c1和c2。先把c1赋值给t,(相当于 t是在替c1保存值)再把c2赋值给c1。再把t的值赋值给c2。这样就实现了交换。
swap2意思差不多。