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;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

不使用第三方变量交换两个变量的值

这需要进行位操作,必较麻烦的, 在学习程序语言和进行程序设计的时候,交换两个变量的值是经常要使用的。通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换。代码如下: int a,b;...
  • bird67
  • bird67
  • 2008年10月30日 19:34
  • 8461

七种方案解决JavaScript交换两个变量值的问题

刚才写位操作的时候突然想到了这个问题 突然想总结一下 交换变量值的问题可能使我们学习编程语言接触到的比较早的逻辑问题 可能有些小伙伴只会两种var a = 123; var b = 456;今天...

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

----------------------   android培训    java培训   期待与您交流!    ----------------------      方法一:用第三方变量...

交换两个变量的值,不使用第三个变量的四种法方

通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换。代码如下: int a,b; a=10; b=15; int t; t=a; a=b; b=t; 这种算法易于理解,特...

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

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

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

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

C语言中两个指针交换所指向的值

1、使用一级指针交换: #include "stdafx.h" #include void swap(int* pt1,int* pt2){ int tmp; //交换前的信息 print...

C语言中交换两个指针变量所指向的值

C语言中,指针变量有一级指针*p和二级指针**p,下面是使用指针交换两个变量的值。 1、使用一级指针交换: #include "stdafx.h" #include void swap(int...

C语言中有关两个数,值的交换

一、开讲    最近在系统的学习C语言,虽说以前在大学里学习过,但是人嘛,时间一久就会忘了。由于行业的原因,我学习了iOS,但是想学习iOS,C就是万万不能忘的。于是经过几天的时间,我终于有了一...

C语言中交换两个整数的值之传值调用和传址调用

在C语言中,一说到交换两个整数的值,大家第一反应可能是这样的代码。定义一个第三方变量来辅助交换。 #include int main() { int num1 = 10; int num2 = ...
  • JenaeLi
  • JenaeLi
  • 2016年10月02日 21:31
  • 1542
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C语言练习篇-2交换两个变量的值
举报原因:
原因补充:

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