改错题  
    给定程序MODI1.c中函数fun的功能:交换主函数中两个变量的值。例如,变量a中的值原为8,b中的值原为3;调用函数后,a中的值为3,b中的值为8。
    请改正程序中的错误,使它能计算出正确的结果。
    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
    给定源程序如下:
#include <stdio.h>

/*********found**********/
void fun(int x,int y)
{
  int t;
/*********found**********/
  t=x;x=y;y=t;
}

main()
{
  int a,b;
  a=8;b=3;
  fun(&a,&b);
  printf('%d,  %d\n',a,b);
}
 
【正确答案】(1)void fun(int *x,int *y) (2)t=*x;*x=*y;*y=t; 答案考生文件夹
【答案解析】(1)本题考查指针变量作函数参数。一般变量作参数时,不能改变实参的值,采用指针变量作参数则能够改变实参的值。主函数中:fun函数的调用方式表明fun函数的参数应当为指针类型。 (2)此处是一个变量交换操作错误,可知x、y是指针类型,变量类型不同,因而x、y不能与t进行值的交换。