评论

收藏

[C++] 8.10 不使用新变量交换a,b变量的一个不溢出的方法(非异或)

编程语言 编程语言 发布于:2021-08-10 13:05 | 阅读数:240 | 评论:0

问题:a=3,b=5,不使用新变量,交换a和b的值。
第一种  异或的方法直接可以交换不提
第二种:
a=a+b;
b=a-b;
a=a-b;
但a+b可能会溢出
所以   那为什么不用a=a-b不会溢出呢
a=a-b;
b=a+b;
a=b-a;
完美解决溢出的问题  而且比异或的方法易懂省事


关注下面的标签,发现更多相似文章