搜索
首页 电脑/网络 程序设计 C/C++

去公司笔试遇到的一道C语言问题

c语言实现两变量数值转换一般格式:int a,b,c;c=a;a=b;b=c;问如何不利用中间变量C实现AB的数值转换

全部回答

2018-03-31

0 0
用异或就行,不怕溢出 a=a^b; b=b^a; //b^a相当于 b^a^b 也就是 b^a^b的值就是a了, 下边相同 a=a^b;

2018-03-31

29 0
a=a+b; b=a-b; a=a-b; 但请注意,这种方法表面看是很不错,但它有一个不足之处:就是范围,一旦两个数很大,相加后会溢出,就不能实现交换,所以这种方法只能用于理论上,在实践中推荐使用中间变量实现.

2018-03-31

11 0
swap(a,b)

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
C/C++
硬件
电脑装机
程序设计
互联网
操作系统/系统故障
笔记本电脑
反病毒
百度
软件
程序设计
C/C++
VB
数据库
汇编语言
JAVA相关
VC++
C#/.NET
其他编程语言
C/C++
C/C++
举报
举报原因(必选):
取消确定举报