博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
给定两个整形变量的值将两个值的内容进行交换
阅读量:4116 次
发布时间:2019-05-25

本文共 808 字,大约阅读时间需要 2 分钟。

1.基本思路:另开辟一个空间i作为媒介,把num1的内容放在i内,把num2的内容放在num1内,再把i内的内容放在num2内,就完成交换。

#include
#include
int main(){ int i; int num1 = 2; int num2 = 3; i = num1; num1 = num2, num2 = i; printf("%d%d\n", num1, num2); system("pause"); return 0;}

2,通过加法交换:这个方法不需要重新开辟空间,但是会发生溢出。当num1的内容占满32个字节(2^32-1),再加1就会溢出。

 

#include
#include
int main(){ int num1 = 2; int num2 = 3; num1 = num1 + num2; num2 = num1 - num2; num1 = num1 - num2;//num1=3+2=5,num2=5-3=2,num1=5-2=3. printf("%d%d\n", num1, num2); system("pause"); return 0;}

3.通过位运算(最优方法):异或的法则是---相同为0,相异为1

#include
#include
int main(){ int num1 = 2; int num2 = 3; num1 = num1^num2;//010^011=001 num2 = num1^num2;//001^011=010 num1 = num1^num2;//001^010=011 printf("%d%d\n", num1, num2); system("pause"); return 0;}
你可能感兴趣的文章
常用js收集
查看>>
mydata97的日期控件
查看>>
如何防止sql注入
查看>>
maven多工程构建与打包
查看>>
springmvc传值
查看>>
Java 集合学习一 HashSet
查看>>
在Eclipse中查看Android源码
查看>>
Android-Socket登录实例
查看>>
Android使用webservice客户端实例
查看>>
层在页面中的定位
查看>>
[转]C语言printf
查看>>
C 语言 学习---获取文本框内容及字符串拼接
查看>>
C 语言学习 --设置文本框内容及进制转换
查看>>
C 语言 学习---判断文本框取得的数是否是整数
查看>>
C 语言 学习---ComboBox相关、简单计算器
查看>>
C 语言 学习---ComboBox相关、简易“假”管理系统
查看>>
C 语言 学习---回调、时间定时更新程序
查看>>
C 语言 学习---复选框及列表框的使用
查看>>
第四章 - 程序计数器
查看>>
第七章 - 本地方法栈
查看>>