• 微软原版系统

  • 一键重装系统

  • 纯净系统

  • 在线技术客服

魔法猪系统重装大师 一键在线制作启动 U 盘 PE 系统 用一键重装的魔法拯救失去灵魂的系统
当前位置:首页 > 教程 > 电脑教程

不用第三个变量,实现两个输入参数的交换

时间:2015年04月02日 15:41:06    来源:魔法猪系统重装大师官网    人气:16188
问题描述:编写一个函数swap,输入两个参数a, b,要求函数中不能够使用第三个变量,函数输出交换之后的a和b。

思路:如果程序中不能够使用另外的第三个变量的话,只能够通过所谓的“技巧"来实现。这里使用的技巧如下:a ^ 0 = a. a ^ a = 0(异或运算)

实现代码:

#include
#include
// 交换两个数据,但是不适用第三个变量
void swap(int* a, int* b)
{
*b = (*a) ^ (*b);
*a = (*a) ^ (*b);
*b = (*a) ^ (*b);
}
int main()
{
int a = 3;
int b = 4;
printf("before swap, a = %d, b = %d\n", a, b);
swap(&a, &b);
printf("after swap, a = %d, b = %d\n", a, b);
return 0;
}
不用,第,三个,变量,实现,两个,输入,参数,的,
栏目:电脑教程 阅读:1000 2023/12/27
Win7教程 更多>>
U盘教程 更多>>
Win10教程 更多>>
魔法猪学院 更多>>

Copyright © 2015-2023 魔法猪 魔法猪系统重装大师

本站发布的系统仅为个人学习测试使用,请在下载后24小时内删除,不得用于任何商业用途,否则后果自负,请支持购买微软正版软件。

在线客服 查看微信 返回顶部