想要问问你你敢不敢给我两个整型变量的值,让我能将两个值的内容交换

又来写代码了

作为一个老司机

你给我两个变量

让我交换内容

我已经有四种方法了

强不强

诶~真的骚

是时候展现真正的技术了

将整型变量的值进行交换一共有四种方法

1、主函数法

通过定义一个新的变量,将a的值先传给新变量tmp,然后将b的值给a,再将tmp中原来的a的值传给b

代码如下:

#include<stdio.h>

int main()

{

    int a,b,temp;

    printf("请输入两个整数:");

    scanf("%d%d",&a,&b);

    temp=a;

    a=b;

    b=temp;

    printf("a=%d\nb=%d\n",a,b);

           return 0;

}

2、传指针法

值的传递不能达到目的,传递指针更符合计算机的原理

代码如下:

#include<stdio.h>

void swap(int *pa,int *pb)//定义函数swap

{

    int tmp = *pa;

    *pa = *pb;

    *pb = tmp;

}

 

int main()

{

    int a = 10;

    int b = 20;

    swap(&a, &b);

    printf("a = %d\n", a);

    printf("b = %d\n", b);

    return 0;

}

int *pa=&a,可分解成: int *pa; pa = &a;//把a的地址赋给pa 这样pa这个指针就指向了变量a的地址; * 是一个解引用符,在这里,*pa就是指针pa所指向的内存当中存储的变量;也就是说这时*pa与a是等价的。 pb与b的关系也是一样的;
3、交换法

#include<stdio.h>

int main()

{

    int a,b;

    printf("请输入两个整数:");

    scanf("%d%d",&a,&b);

    a=a-b;

    b=a+b;

    a=b-a;//交换

    printf("a=%d\nb=%d\n",a,b);

    return 0;

4、引用指针

代码如下:

#include<stdio.h>

void swap(int &a, int &b)

{

    int tmp = a;

    a = b;   

    b = tmp;

}

int main()

{

    int a = 10;

    int b = 20;

    swap(a, b);

    printf("a = %d\n", a);

    printf("b = %d\n", b);

    return 0;

}

真的骚

引用指针的第四种方法有点问题 有没有大神给解答一下

显示swap不是个函数???

wtf???

我心好累

我想睡觉觉

 

诶~

说说骚话

反正也没人给我解答

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值