C语言小算法集锦---交换两个变量的值
2018-02-16 20:35
190 查看
c语言交换两个变量的方法: 1.通过创建临时变量的方式交换两个变量的值 2.通过求和的方式交换两个变量的值 3.通过按位异或的方式交换两个变量的值第1种方法需要引入额外的变量;第2种方法中如果要交换的两个值的数据较大,可能会导致数据溢出(不推荐该方法);第3种方法是不是显得很高大上呢
下面是在VC++6.0下测试的交换两个变量的值的三种方法的完整测式代码:
5: 0101
8: 1000
--------
*x:1101
8: 1000
--------
*y:0101 --5
*x:1101
--------
*x:1000 --8
*/
下面是在VC++6.0下测试的交换两个变量的值的三种方法的完整测式代码:
#include <stdio.h> //通过创建临时变量的方式交换两个变量的值 void swap1(int *x, int *y){ int temp; temp = *x; *x = *y; *y = temp; } //通过求和的方式交换两个变量的值 void swap2(int *x, int *y){ *x = *x + *y; *y = *x - *y; *x = *x - *y; } //通过按位异或的方式交换两个变量的值 void swap3(int *x, int *y){ *x = *x^*y; *y = *y^*x; *x = *x^*y; } int main(void) { int a = 2; int b = 5; printf("请输入a b的值:"); scanf("%d %d", &a, &b); swap3(&a, &b); printf("交换后的数据为:"); printf("a = %d,b = %d\n",a,b); return 0; }下面通过一个实例简要分析按位异或的方式交换两个变量的值的方式的运行机制:/*
5: 0101
8: 1000
--------
*x:1101
8: 1000
--------
*y:0101 --5
*x:1101
--------
*x:1000 --8
*/
相关文章推荐
- 用函数交换两个变量的值(C语言指针)
- 【c语言】 交换两个整形变量的值(要求不创建临时变量)
- C语言—给定两个整形变量的值,将两个值的内容交换
- C语言不创建临时变量,交换两个整型的值
- 交换两个变量的值的两种简单算法
- C语言实现两个整形变量的值的交换,不使用临时变量
- 用C语言实现给定两个整形变量的值,将两个值的内容进行交换。(4种方法)
- 【c语言】 交换两个整形变量的值(要求不创建临时变量)
- C语言--交换两个变量的
- C语言学习之交换两个变量的值
- c语言中不需要中间变量就能实现两个数交换的几种算法
- C语言-交换两个变量的值
- 算法研究之不使用临时变量实现两个值的交换
- [c语言笔记]关于指针操作中使用异或交换两个变量的值
- C语言小程序--交换两个变量的值
- C语言交换两个变量数据的三种方法
- 黑马程序员——【C语言】用三种方式交换两个变量的值
- C语言 实现 给定两个整形变量的值,将两个值的内容进行交换
- C语言 交换两个变量的值的实现
- C语言练习篇-2交换两个变量的值