通过四则运算交换变量值

来源:百度知道 编辑:UC知道 时间:2024/06/14 08:41:17
写一个算法 , 不定义其他任何变量 通过四则运算 交换两个整形变量的值

int a ,b;
a=n;
b=m;
a = n*100+b;
b = a/100;
a = a%100;

#include <stdio.h>

void main()
{
int x,y;

scanf("%d%d",&x,&y);
printf("x=%d,y=%d\n",x,y);
//通过四则运算 交换两个整形变量的值
x=x+y;
y=x-y;
x=x-y;

printf("x=%d,y=%d\n",x,y);
}

要防止加法溢出,最好用异或操作

b = a ^ b
a = a ^ b
b = a ^ b