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

2024-11-26 14:59:27
推荐回答(5个)
回答1:

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

回答2:

#include //添加头文件

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

通过

回答3:

设个中间变量,利用中间变量将2个数交换一下即可

回答4:

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

回答5:

第一空:swap(&a,&b);
第二空:
int t;
t=*x;
*x=*y;
*y=t;