实现 交换 两个int类型变量的值-笔试面试资料

这是qklbishe.com第18413 篇笔试面试资料
提供答案分析,通过本文《实现 交换 两个int类型变量的值-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。

答案:
实现交换两个int类型变量的值

C++

实现 交换 两个int类型变量的值 scanf();

方法一:
#include <iostream> using namespace std;  int main() {      int a = 0;     int b = 0;     cin >> a;     cin >> b;      //write your code here.......     int tmp = a;     a = b;     b = tmp;          cout << a << " " << b << endl;          return 0; }

通过建立临时变量tmp,两两交换a、b的值

如果调用函数swap(),则不会真正改变a、b的值,可以改成传地址

方法二:
#include <iostream> using namespace std;  void swap(int* a, int* b) {     int tmp = *a;     *a = *b;     *b = tmp; }  int main() {      int a = 0;     int b = 0;     cin >> a;     cin >> b;      //write your code here.......     swap(&a, &b);          cout << a << " " << b << endl;          return 0; }

虽然传地址可以解决两两交换的问题,但是需要第三个临时变量

方法三:
#include <iostream> using namespace std;  int main() {      int a = 0;     int b = 0;     cin >> a;     cin >> b;      //write your code here.......     a = a + b;     b = a - b;     a = a - b;          cout << a << " " << b << endl;          return 0; }

不需要临时变量,如果是调用函数swap(),仍然需要传地址
方法四:

#include <iostream> using namespace std;  void swap(int* a, int* b) {     int tmp = *a;     *a = *b;     *b = tmp; }  int main() {      int a = 0;     int b = 0;     cin >> a;     cin >> b;      //write your code here.......     a = a ^ b;     b = a ^ b;     a = a ^ b;          cout << a << " " << b << endl;          return 0; }

按位异或,相同为0,不同为1

2021-11-11 16:19:27 回复(0)

文章部分来自互联网,侵权联系删除
www.qklbishe.com

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 实现 交换 两个int类型变量的值-笔试面试资料

提供最优质的资源集合

立即查看 了解详情