编写一个交换函数swap(int *x,int *y),实现2个数的交换,并在主函数中调用,最后输

编写一个交换函数swap(int *x,int *y),实现2个数的交换,并在主函数中调用,最后输出。
程序运行示例:
输入a:2
输入b:3

输出:a=3 b=2
提示:
void swap(int *x,int *y);
int main(void)
{
int a,b;

/*--------*/

return 0;
}

void swap(int *x,int *y)
{
/*--------*/
}

#include <stdio.h>
void swap(int *x,int *y);
int main(void)
{
int a,b;
printf("a: ");
scanf("%d",&a);
printf("b: ");
scanf("%d",&b);
swap(&a,&b);
printf("a=%d b=%d\n",a,b);
return 0;
}

void swap(int *x,int *y)
{
int z=*x;
*x=*y;
*y=z;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-01-05
#include <stdio.h>//添加头文件

void swap(int *x,int *y);
int main(void)
{
int a,b;

printf("Please input two number\n");
scanf("%d%d", &a, &b);
printf("a = %d, b = %d\n", a, b);

swap(&a, &b);

printf("a = %d, b = %d\n", a, b);

return 0;
}

void swap(int *x,int *y)
{
/*--------*/
*x = *x ^ *y;
*y = *x ^ *y;
*x = *x ^ *y;
}

通过
第2个回答  2010-01-05
设个中间变量,利用中间变量将2个数交换一下即可
第3个回答  2010-01-05
#include <stdio.h>
void swap(int *x,int *y);

int main()
{
int a,b,*p1,*p2;
printf("输入a:\n");
scanf("%d",&a);
printf("输入b:\n");
scanf("%d",&b);
p1=&a;
p2=&b;
swap(p1,p2);
printf("输出:a=%d,b=%d",*p1,*p2);
return 0;
}

void swap(int *x,int *y)
{
int temp;
temp=*x;
*x=*y;
*y=temp;
}
第4个回答  2010-01-05
第一空:swap(&a,&b);
第二空:
int t;
t=*x;
*x=*y;
*y=t;
相似回答