输入两个值,用函数交换两个值。

因为交换函数不用返回原变量,所以用void定义函数变量。只有通过改变a和b

的原地址才可以改变他们的值,所以需要定义(int *pa,int*pb).

核心代码就是通过改变地址来交换两个变量,如果只定义上swap2也可以交换。但只有Swap1时不能完成任务。

当实参传给形参的时候,形参其实是实参的一份临时拷贝。Swap2就是将地址传过去了,所以可以交换。

#include<stdio.h>
void Swap1(int x,int y){
     int temp=0;
     temp=x;
     x=y;
     y=temp;
}
void Swap2(int*pa,int*pb){
     int temp=0;
     temp=*pa;
     *pa=*pb;
     *pb=temp;
}
int main(){
    int a=10;
    int b=20;
    printf("a=%d b=%d\n",a,b);
Swap1(a,b);
Swap2(&a,&b);
    printf("a=%d b=%d\n",a,b);
    return 0;
     }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值