C语言交换变量值的几种方法

2025-03-04 14:10:29
推荐回答(1个)
回答1:

方法一:三变量交换。

#include
int main(void)
{
int a,b;
scanf("%d%d",&a,&b);
int t=a;a=b;b=t;
printf("%d %d\n",a,b);
return 0;
}

方法二:加减交换

#include
int main(void)
{
int a,b;
scanf("%d%d",&a,&b);
a=a+b;
b=a-b;
a=a-b;
printf("%d %d\n",a,b);
return 0;
}

方法三:异或交换

#include
int main(void)
{
int a,b;
scanf("%d%d",&a,&b);
a=a^b;b=b^a;a=a^b;//可写成a^=b^=a^=b;
printf("%d %d\n",a,b);
return 0;
}

方法四(黑盒测试下):不交换

#include
int main(void)
{
int a,b;
scanf("%d%d",&a,&b);
printf("%d %d\n",b,a);
return 0;
}