计算机二级 C语言 形参实参问题 这道题应该怎么做?

如题所述

第1个回答  2016-02-29
函数参数的传递是对参数进行复制
也就是说所调用的函数传进去的参数与该函数使用的参数是两个不同位置但数据相同的参数
所以在函数中对该参数进行操作是不会影响到原参数的
简单地理解就是函数中操作的是一个复本
而如果传递的是地址且函数对地址内的数据操作才会有影响
因为两个参数虽然位置不同但却指向同一个地方

而这个程序传递的并不是一个地址
所以在函数中的操作是不影响原数据的
所以结果应该选A本回答被提问者采纳
第2个回答  2016-02-29
瞄一眼就知道了,选A
值传递,形参的改变不会影响到实参的值追问

还是不太明白。。。
比如i=0的时候,对于c[0]和c[1]进行fun,他俩为什么不换位置啊

详细一点可以吗

追答

fun函数里面的两个形参确实内容互换了, 但是,实参也就是c[0]和c[1]没有互换。
值传递和地址传递,背后的知识点是变量的作用域和生存期。前阵子我刚回答过一个,答案挺长的,我找找链接给你。
别采纳,采纳了我就没法追答或修改了

追问

谢谢你!上一网友也是这么说的,我明白了,不好意思只能给一个,十分感谢!

追答

无所谓,采纳谁都行。
刚好你追问了,我就能追答了,不然我都没法补充
http://zhidao.baidu.com/question/1177620589917256339
http://zhidao.baidu.com/question/363532361238229172
你看一下我在这两个问题贴中的回复,就能理解这个问题了。
只不过是个简单的值传递地址传递问题

追问

嗯嗯!