交换两个数的内容
1、给定两个整型变量,将两个值的内容进行交换
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a = 3;
int b = 4;
int c = 0;
c = a;
a = b;
b = c;
printf("a=%d\nb=%d\n",a,b);
system("pause");
return 0;
}
2、不允许创建临时变量,交换两个数的内容。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a = 2,b = 3;
a = a+b;
b = a-b;
a = a-b;
printf("a=%d\nb=%d\n",a,b);
system("pause");
return 0;
}
但是这个方法容易溢出,还有没有更优化的方法呢???(当然有、、嘻嘻。如下)
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a = 3,b = 4;
a = a^b;
b = a^b;
a = a^b;
printf("a=%d\nb=%d\n",a,b);
system("pause");
return 0;
}
加入#include<stdlib.h>和system ("pause");是为了阻止输出结果闪退,有些版本可能不需要。