C 语言交换 a 和 b 值的 4 种方式

一、需求

有以下需求

有两个变量 a 和 b,形如

int a = 3;

int b = 4;

然后将 a 和 b 的值互换得到

a 的值是 4

b 的值是 3

二、需求分析

能想到,交换两个值的

使用第三个变量可完成交换,形如

int c = a;

a = b;

b = c;

在忽略其他情况下,整形变量也可以通过运算的方式交换它们的值,而不使用另外第三个变量

经研究整理出 4 种交换方式

第 1 种交换方式

int c = a;

a = b;

b = c;

第 2 种交换方式

a = a + b;

b = a - b;

a = a - b;

第 3 种交换方式

a = a ^ b;

b = a ^ b;

a = a ^ b;

第 4 种交换方式

a = a * b;

b = a / b;

a = a / b;

三、测试代码

 

#include <stdio.h>
// 主函数
int main(int argc, char **argv)
{
	int a = 3;
	int b = 4;

	printf("交换前: a = %d, b = %d\n", a, b);

	// 第1种方式
	//int c = 0;
	//c = a;
	//a = b;
	//b = c;

	// 第2种方式
	//a = a + b;
	//b = a - b;
	//a = a - b;

	// 第3种方式
	//a = a ^ b;
	//b = a ^ b;
	//a = a ^ b;

	// 第4种方式
	a = a * b;
	b = a / b;
	a = a / b;

	printf("交换后: a = %d, b = %d\n", a, b);

	return 0;
}

调试结果

四、_End

完成 

  • 8
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值