定义一个交换函数 实现2个数字的交换。
#include<stdio.h>
int sub(int x,int y)
{
int
temp;
temp=x;
x=y;
y=temp;
}
void main()
{
int
a,b;
scanf("%d,%d",&a,&b);
sub(a,b);
printf("%d,%d",sub(a,b));
}
最后的输出位置不应该是a,b吗,还有定义函数为什么不用返回x,y,这个答案是同学高数我的,验证结果可以实现,为什么?
void Swap(int&x,int&y)
{
int temp=0;
temp=x;
x=y;
y=temp;
}
int main()
{
int a=1;
int b=2;
Swap(a,b);
cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;
system("pause");
return 0;
}
运行结果:
用指针交换:
void Swap(int*x,int*y)
{
int temp=0;
temp=*x;
*x=*y;
*y=temp;
}
int main()
{
int x=1;
int y=2;
Swap(&x,&y);
printf("x=%d,y=%d\n",x,y);
system("pause");
return 0;
}
运行结果:
X=2;Y=1