关于C语言交换两个int类型变量的讨论
来源:互联网 发布:厄舍府的倒塌 知乎 编辑:程序博客网 时间:2024/05/16 18:35
C语言中交换两个int类型变量有以下几种方法:
1、使用第三方变量
int main()
{
int a = 10;
int b = 20;
int temp;
temp = a;
a = b;
b = temp;
}
2、不使用第三方变量(使用加减法)
int main()
{
int a = 10;
int b = 20;
a = a - b;
b = b - a;
a = b + a;
}
3、不使用第三方变量(使用^运算符)
int mian()
{
int a = 10;
int b = 20;
a = a ^ b;
b = a ^ b;
a = a ^ b;
}
1、就可读性而言,第一种方式是最佳的选择,第二种和第三种可读性不佳;
2、就执行效率而言,第二种和第三种相对第一种方式更高;
3、第二种方式有缺陷,原因是int类型变量是有范围的,如果a是一个很大的正整数在int类型范围内,b是一个非常小的负整数也再int类型范围内,但a - b的值很有可能溢出,这样结果就会是错误的。
所以综合上述,选择第一种方法为最佳。
0 0
- 关于C语言交换两个int类型变量的讨论
- Java中交换两个int类型变量的方法汇总
- C语言--交换两个变量的
- C语言-交换两个变量的值
- C语言交换两个变量的值
- C语言交换两个变量的值
- C语言交换两个变量的值
- [c语言笔记]关于指针操作中使用异或交换两个变量的值
- 交换两个int型变量的方法
- 不使用第三个变量交换两个int类型变量的值
- C#复习_不使用第三个变量交换两个int类型变量的值
- 关于交换两个值的一些讨论
- C语言 编写一个函数,传入a,b两个int类型的变量,返回两个值的最大公约数。
- C语言实现 编写一个函数,传入a,b两个int类型的变量,返回两个值的最大公约数。
- C语言 交换两个变量的值的实现
- 不用中间变量进行两个数的交换(C语言)
- C语言中交换两个变量数值的方法
- C语言中交换两个变量的值
- bzoj2049 [Sdoi2008]Cave 洞穴勘测 (Link Cut Tree)
- 二叉树的层次遍历
- 去迅雷面试
- 变量、函数声明与定义
- Windows 10/WP10预览 Universal App开发的更新内容
- 关于C语言交换两个int类型变量的讨论
- GPGPU-Sim学习(二)(补充)gpgpu-sim官网所给虚拟机与自己所搭建虚拟机的使用感受
- 面向对象特征
- 每日一佳——Hilbert Space Embeddings of Hidden Markov Models(Le Song,ICML,2010)
- 去腾讯数据中心后台面试
- C++面向对象的三个基本特征
- 好记性不如烂笔头95-spring3学习(16)-spring配置log4j
- Linux之cat命令
- hdu 3177 Crixalis's Equipment(贪心+差排)