C语言的改错

来源:百度知道 编辑:UC知道 时间:2024/05/11 12:46:39
交换变量
如A=8 B=3 程序运行后A=3B=8 检查错误是其正确运行
#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);
}

#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);
}

可以这样修改不?
#include <stdio.h>

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

main()
{
int a,b;
int *p,*q;
a=8;b=3;
p=&a;
q=&b;
fun(p,q);
printf("%d, %d\n",a,b);
getch();
}