如何不使用第三个变量,交换两个char的值

浏览:36日期:2022-10-27

问题描述

对于int a 和 int b 可以使用下面的代码 互换a和b的值

void function(inta, intb){ a=a+b; b=a-b; a=a-b; }

如果交换 两个char类型,该怎么办喃?

问题解答

回答1:

一般的

char型实际上是byte型,只有一个字节,因此必须考虑溢出的问题,不能用加法。当然,实质上int型也不能用加减法这样来交换,用位异或是个通用的办法。

void main(){ char a = 'x'; char b = 'y'; a ^= b; b ^= b; a ^= b; std::cout

相关文章: