问题描述
对于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