[讨论]一个有地址传送的问题。
要求函数的功能是交换x和y中的值,且通过正确调用返回交换结果。能正确执行此功能的函数是( )。A)funa(int *x,int *y)
{ int i,*p=&i;
*p=*x;*x=*y;*y=*p;
}
B)funb( int x,int y)
{ int t;
t=x;x=y;y=t;
}
C)func(int *x,int *y)
{ *x=*y;*y=*x;}
D)fund(int *x,int *y)
{ *x=*x+*y;*y=*x-*y;*x=*x-*y;
}
上面的四个答案中哪两个正确,为什么?