给定程序MODll.C中函数fun的功能是:实现两个整数的交换。 例如给a和b分别输入:60和65,输出为:a=65 b=60 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #i

admin2013-04-02  25

问题 给定程序MODll.C中函数fun的功能是:实现两个整数的交换。
  例如给a和b分别输入:60和65,输出为:a=65 b=60
  请改正程序中的错误,使它能得出正确的结果。
  注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
/**********found**********/
void fun(int a, b)
{int t;
/**********found**********/
  t=b; b=a; a=t;
}
main ()
{int a, b;
   printf ("Enter a , b : "); scanf ("%d,%d", &a, &b);
   fun (&a , &b);
   printf (" a = %d b = %d\n ", a, b);
}

选项

答案void fun(int *a,int *b) t=*b; *b=*a; *a=t;

解析 (1)该题明显是指针类型的错误。主函数传的形参分别是a、b的地址,而函数fun中却定义a、b为整型,所以第一个标识下的“void fun(int a, b)”改为“void fun(int *a,int *b)”。
(2)根据上面的修改,第二个标识下,“t=b; b=a; a=t;”明显应该是“t=*b; *b=*a; *a=t;”。
转载请注明原文地址:https://kaotiyun.com/show/XJJp777K
0

相关试题推荐
最新回复(0)