关闭

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

标签: c语言交换两值
307人阅读 评论(0) 收藏 举报
分类:

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

方法一:中间变量

#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;
}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:7092次
    • 积分:240
    • 等级:
    • 排名:千里之外
    • 原创:18篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档