C语言练习篇-2交换两个变量的值

原创 2016年05月31日 17:23:06

练习:交换两个变量的值。

方法一:中间变量

#include <stdio.h>
int main()
{
    int a=10;
    int b=4;
    printf("a=%d,b=%d\n",a,b);

    //定义一个中间变量来完成两个变量之间的交换
    int temp;
    temp=a;
    a=b;
    b=temp;

    printf("a=%d,b=%d\n",a,b);
    return 0;
}

方法二:宏定义

#include<stdio.h>

// 定义一个交换两个数的宏
#define SWAP(x,y,temp) ((temp) = (x),(x) = (y),(y) = (temp))
int main()
{
    int a=10;
    int b=4;
    printf("a=%d,b=%d\n",a,b);

    int temp;
    SWAP(a, b, temp);

    printf("a=%d,b=%d\n",a,b);
    return 0;
}

方法三:算术运算

#include<stdio.h>
int main()
{
    int a=10;
    int b=4;
    printf("a=%d,b=%d\n",a,b);

    a=b-a;//a=-6
    b=b-a;//b=10
    a=a+b;//a=4

    printf("a=%d,b=%d\n",a,b);
    return 0;
}

方法四:位运算

#include<stdio.h>
int main()
{
    int a=10;
    int b=4;
    printf("a=%d,b=%d\n",a,b);

    a = a^b;
    b = b^a;//b = b^a^b = a
    a = a^b;

    printf("a=%d,b=%d\n",a,b);
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

c语言中不需要中间变量就能实现两个数交换的几种算法

第一类方法也是常用的方法,通过多次的数值计算来完成交换,到现在知道的有下面三种: (1)加减法。 a = a + b; b = a - b; a = a - b; 该方法可以交换整型和浮点型...
  • Mormont
  • Mormont
  • 2016年12月17日 22:07
  • 1844

C语言小程序--交换两个变量的值

看到这个题目首先我们可以想到借助一个第三变量来实现 例如:a=10,b=20  我们想要交换a与b的值,可以借助一个第三变量temp,把a的值附给temp,把b的值给a,再把temp的值给b,就完成了...
  • her__0_0
  • her__0_0
  • 2016年03月16日 20:58
  • 5935

C语言之交换两个整型变量的值(四种方法)

C语言中有一道题目是交换两个整型变量的值,这是一道非常简单的题目,那么一共有几种方法呢?以下是我整理的四种方法,是在MAC系统x-code环境下编译并运行成功的,以下为截图: 方法一:通过引入第三方...
  • yanda607
  • yanda607
  • 2015年04月23日 01:39
  • 2092

C语言交换两个变量数值的几种方法

因为经常见到这类题目,就自己总结了以下几种办法 1. 创建中间变量 这是最快也是最简单的办法,例如:#includeint main() { int a=10; int b...
  • ljx_5489464
  • ljx_5489464
  • 2015年11月25日 21:11
  • 13314

C程序中交换两个变量数值,不使用第三方变量(四种方式)

在学习程序语言和进行程序设计的时候,交换两个变量的值是经常要使用的。通常我们的做法是(尤其在学习阶段):定义一个新的变量,借助它完成交换。代码如下: int a,b; a=10; b=15; i...
  • lsk_wj
  • lsk_wj
  • 2016年01月03日 00:37
  • 1473

C语言交换两个整数的值

在学习用C语言交换两个整数的值得时候,有趣的发现了三种不同思路的解法。 整理大概如下: #include void swap1(int *a, int *b); void swap2(int *a,...
  • qq_35524916
  • qq_35524916
  • 2016年09月29日 23:05
  • 1987

两个变量的值交换的多种方法

在我的博客“函数参数的传递”(博客地址:http://blog.csdn.net/wxbmelisky/article/details/50833787)一文中谈到过将两个变量的值进行交换的 swa...
  • wxbmelisky
  • wxbmelisky
  • 2016年09月01日 20:48
  • 2106

两个变量交换值的三种方法

变量之间的三种交换方法
  • qq_32357509
  • qq_32357509
  • 2016年11月20日 17:18
  • 1828

如何通过调用函数交换两个变量的值及常见误区

大家都知道c语言中交换两个变量的值,需要以下代码:
  • csdnAaron
  • csdnAaron
  • 2014年10月24日 19:30
  • 3168

不借助第3个变量交换a和b的值(c语言)

这需要进行位操作,必较麻烦的,  在学习程序语言和进行程序设计的时候,交换两个变量的值是经常要使用的。通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换。代码如下:  int ...
  • pizi0475
  • pizi0475
  • 2015年07月09日 21:53
  • 1745
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C语言练习篇-2交换两个变量的值
举报原因:
原因补充:

(最多只允许输入30个字)