c交换计划 [英] c swaping program

查看:61
本文介绍了c交换计划的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在不使用第三个变量的情况下交换两个数字?

How to swap two numbers without using third variable?

推荐答案

鉴于:



Given:

int a = 1;
int b = 2;



你可以这样做:


You can do this:

a = a + b;
b = a - b;
a = a - b;



或者这个:


or this:

b = a ^ b;
a = b ^ a;
b = a ^ b;



或只需使用 std:swap 方法。


上述选项中只有一个可以防止溢出/下溢。

Only one of the above choices will protect against overflow/underflow.
b = a ^ b;
a = b ^ a;
b = a ^ b;


列表中还有一个:

One more to the list:
// x:4; y:7  
x = x*y;  // 4*7  
y = x/y;  // 28/7 = 4  
x = x/y;  // 28/4 = 7  


这篇关于c交换计划的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆