int a=10,int b=15,不用中间变量,如何调换两个值?

2025-01-03 01:32:09
推荐回答(4个)
回答1:

a^=b^=a^=b;

^是位异或

用加法和减法,有可能溢出,所以不采用。

回答2:

//很简单 用加法;
int a=10,int b=15;

a= a+b;
b =a-b;
a =a-b;

回答3:

#include
int main(int argc, char *argv[])
{
int a,b;
while(scanf("%d%d",&a,&b))
{
printf("交换前,a=%d,b=%d\n",a,b);
a=a+b;
b=a-b;
a=a-b;
printf("交换后,a=%d,b=%d\n",a,b);
}
return 0;
}

回答4:

用指针