C语言 用三种方法实现“数据交换”(重点)

1、用中间变量temp

#include<stdio.h>
int main()
{
    printf("请输入两个数字:\n");
    int num1=10,num2=20;
    scanf("%d%d",&num1,&num2);

    int temp=0;

    temp=num2;//temp=num1;
    num1=temp;//num1=num2;
    num2=num1;//num2=temp;

    printf("num1=%d,num=%d",num1,num2);
    return 0;
}

2、用算数加减法(扩充面试内容)

#include<stido.h>
int main()
{
    printf("请输入两个整型:\n");
    
    int num1=10,num2=20;
    scanf("%d%d",&num1,&num2);

    num1=num1+num2;//num1=30,num2=20
    num2=num1-num2;//num1=30,num2=10
    num1=num1-num2;//num1=20,num2=10
    //实现num1,num2的交换
    
    printf("num1=%d,num2=%d",num1,num2);
    return 0;
}

3、用位运算的^异或(注意:是二进制运算)(具体异或的运算方法请看往期文章"运算符")

#include<stdio.h>
int main()
{
    printf("请输入两个整型:\n")
    int num1=10,num2=20;
    scanf("%d%d",&num1,&num2);

    num1=num1^num2;
    num2=num1^num2;
    num1=num1^num2;
//与前面算数方法的过程基本一致

    printf("num1=%d,num2=%d",num1,num2);
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值