问答题
[问题1](6分)
执行[程序1]后,打印出来的a=3,b=4;并没有完成数据交换,请指出李工的问题?并改正程序错误。将答案填写在答题纸中对应的栏目。
【正确答案】 李工的问题:形参不能作为函数的输出参数使用。
对应的swap函数修改如下:

【答案解析】 函数swap采用值传递,虽然将形参x和y交换了,但是并不影响到实参,所以执行[程序1]后,打印出来的a=3,b=4;并没有完成数据交换。将值传递改成指针传递就可以了。
对应的swap函数应修改如下:

问答题
[问题2](5分)
仔细阅读并分析[程序2]中的C语言代码,完成其中(1)~(5)空白填空,将答案填入答题纸的对应栏内。
【正确答案】
【答案解析】
问答题
[问题3](4分)
李工编写某嵌入式软件时,遇到了一些问题,请帮助李工解答下面2个问题,并将答案填写在答题纸中对应的栏目。
(1)李工在编译时,程序没有通过编译,经检查程序后将文件头的 # include 改为 # include"filename.h"后编译通过,请问 # include 和 # include"filename.h"的区别是什么?
(2)李工在编写一段C++程序时,需要调用一段已编译的C语言函数,为什么要加extem"C"?
【正确答案】
【答案解析】