求函数的功能是交换x和y中的值,且通过正确调用返回交换结果。能正确招待此功能的函数是:
A. funa(int *x,int *y)
{int *p;
*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=*x+*y;*y=*x-*y;*x=*x-*y;
}
为什么B项不正确??
參考答案:B. funb(int x,int y)
{int t;
t=x;x=y;y=t;
////////////////////////////////////////////////////
//x=y是y的值变为x的值,后面y=t是x的值变为y的值,这里只让y的值变成x而没有把y的值变为x的值,没有完全交换x和y中的值。