交换a,b值的三种方法
第一种:普通的用第三个参数交换两者数值:
#include <stdio.h>
int main()
{
int a = 10;
int b = 20;
int temp;//设置第三个变量
temp = a;
a = b;
b = temp;
printf(“a=%d,b=%d",a,b);
return 0;
}
这种方法的优点是极其稳定,几乎不用担心越界等一系列错误
但是如何不用这个临时变量达到交换二者数值的目的呢?
第二种:先相加后相减的方法
#include <stdio.h>
int main()
{
int a = 10;
int b = 20;
a = a + b;
b = a - b;
a = a - b;
printf("a = %d,b = %d",a,b);
return 0;
}
这种方法的优点是没有临时变量且较为稳定
缺点是有可能涉及到溢出但是可能性很小。
第三种:抑或抑或抑或
#include <stdio.h>
int main()
{
int a = 10;
int b = 20;
a = a ^ b;
b = a ^ b;
a = a ^ b;
printf("a = %d,b = %d",a,b);
return 0;
}
这种方法的有点是:比较高端
缺点是出错的概率相较于第二种方法更大
如果帮到你的话请关注我!!!!!