C语言--不创建第三个变量,实现对两个数字的交换

C语言--不创建第三个变量,实现对两个数字的交换_第1张图片


我们先来看一下,创建第三个变量交换两个数字。

#include
{
    int a=2;
    int b=3;
    int tmp=0;
    tmp=a;
    a=b;
    b=tmp;
    return 0;
}

再看一下不创建的方法

 法一:

//加减法   缺点可能会溢出 
int main()
{
 int a=3;
 int b=5;
 printf("before:a=%d b=%d\n",a,b);

 a=a+b;
 b=a-b;
 a=a-b;
 printf("after:a=%d b=%d  ",a,b);
}

 法二:

 //代码的可读性较差,但是面试题可能会考
 int main()
 {
	 int a=3;
	 int b=6;
	 printf("brfore :a=%d b=%d\n",a,b);
		 a=a^b;
		 b=a^b;
		 a=a^b;
	 printf("after :a=%d b=%d",a,b);
 }

创作不易,如果对你有帮助的话,给个免费的赞鼓励一下小编吧!

你可能感兴趣的:(C语言学习,c语言)