2016-10-18 17:24发布
对于int a 和 int b 可以使用下面的代码 互换a和b的值
void function(inta, int b){ a=a+b; b=a-b; a=a-b; }
如果交换 两个char类型,该怎么办喃?
char型实际上是byte型,只有一个字节,因此必须考虑溢出的问题,不能用加法。当然,实质上int型也不能用加减法这样来交换,用位异或是个通用的办法。
位异或
char其实就是int呀
char
int
其实对于2整型(包括char),用异或交换变量比用加减好(不存在溢出问题)
标记一下 还是等大神来解答吧
如果你在windows平台下的话,可以使用内置函数
char 本质也是整型
你可以使用汇编来直接自行完成
记得 是用位运算 具体忘记
需要类型转换所以在对char类型的数据进行转换的时候必须要引用一个中间的int类型第三个变量所以你问的问题自相矛盾。不能实现。
输出
最多设置5个标签!
付费偷看金额在0.1-10元之间
char型实际上是byte型,只有一个字节,因此必须考虑溢出的问题,不能用加法。
当然,实质上int型也不能用加减法这样来交换,用
位异或
是个通用的办法。char
其实就是int
呀其实对于2整型(包括char),用异或交换变量比用加减好(不存在溢出问题)
标记一下 还是等大神来解答吧
如果你在windows平台下的话,可以使用内置函数
char 本质也是整型
你可以使用汇编来直接自行完成
记得 是用位运算 具体忘记
需要类型转换
所以在对char类型的数据进行转换的时候
必须要引用一个中间的int类型第三个变量
所以你问的问题自相矛盾。不能实现。
输出
一周热门 更多>