C语言 :通过函数交换两个变量的值

C语言 :通过函数交换两个变量的值是通过函数交换哦 谢谢大佬
2024-12-13 10:29:37
推荐回答(2个)
回答1:

#include 
void swap_1(int*a,int*b)//方法一,定义临时变量
{
    int temp=*a;
    *a=*b;
    *b=temp;
}
void swap_2(int*a,int*b)//方法二,利用加减法运算
{
    *a=*a+*b;
    *b=*a-*b;
    *a=*a-*b;
}
void swap_3(int*a,int*b)//方法三,利用位运算
{
    *a=*a^*b;
    *b=*a^*b;
    *a=*a^*b;
}
int main()
{
    int x,y;
    scanf("%d%d",&x,&y);
    printf("x=%d,y=%d\n",x,y);
    swap_1(&x,&y);//或swap_2(&x,&y);或swap_3(&x,&y);
    printf("x=%d,y=%d\n",x,y);
    return 0;
}

回答2:

#include
void f(int *a,int *b) { int c; c=*a;*a=*b;*b=c; }
void main() { int a,b;
  a=1; b=2; f(&a,&b); printf("%d %d\n",a,b);
}