C语言新人求解,关于数组

图片说明
不懂.......

3个回答

方法一是传过去的数组,
两个方法都进行了值的交换,你理解的没错
但是方法一是穿过去的数组,c[]读取到数组a的地址,和地址对应的数据,a[0]所对应的存储地址重新赋值为a[1]地址所对应的数据即5,该地址数据为5同样将a[1]地址所对应的数据赋值为3
方法2是穿过去两个参数,参数值进行了交换,c0 = 5,c1 = 3但是这不影响原数组b啊,是吧,b[0]对应的值仍然是3没有重新赋值啊

图片说明

qq_36573500
壶客 谢谢!懂了哈哈
3 年多之前 回复

答案是D
swap1()是传递的地址。所以对该形参c的改变会影响实参,该函数 的作用就是将数组c的第一个元素与第二个元素的值互换,所以是5,3。
swap2()是值传递的,所以该函数执行后对数组无影响,所以是3,5.
答案就是5 3 3 5

qq_36573500
壶客 谢谢!当时脑子进水了。。。
3 年多之前 回复

就是一个交换函数啊,前面的swap1和swap2是在定义两个函数。后边主函数main直接调用这两个函数。
swap1是定义的一维数组的交换,交换两个值,c1和c2。先把c1赋值给t,(相当于 t是在替c1保存值)再把c2赋值给c1。再把t的值赋值给c2。这样就实现了交换。
swap2意思差不多。

qq_36573500
壶客 谢谢哈!
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问