全国计算机二级c 谁能解析一下这道题 谢谢啦

2024-12-19 11:38:58
推荐回答(3个)
回答1:

上面铅笔写的那一行是什么意思?改的原题?如果没有上面那一行,题目是这么运行的
首先解释fun函数的功能,给函数传进两个形参,a和b,然后将它俩的值互换,但是这种互换并不影响调用函数里面实参的值,所以这个函数在那个循环里面没有意义,那个循环并没有改变c数组。
然后解释,第一个for循环,一次将数组里相邻的两个元素调用进fun函数,直到数组完毕,第二个循环当然是顺序输出数组里面的元素了,所以函数刚开始定义的是什么,输出的就是什么

回答2:

理论上,程序预期应该出现的结果是B) 但实际上,因为程序错误,数组的结果没有变化,答案应该是:A
主要是fun函数的参数,是实参。
在函数调用过程中,形参的值发生改变,而实参中的值不会变化。
实参是数值传递,而不是地址传递,如果需要达到期望的答案B的效果,函数参数应该以地址或者指针传递参数。

回答3:

最简单的方法,用开发坏境验证一下自己的答案。