形参变化,影响or不影响影响实参

#include <stdio.h>

void swap1(int a, int b)
{
    int t;
    t = a;
    a = b;
    b = t;
    printf("in swap1(),a=%d,b=%d\n", a, b);
}

void swap2(int *a, int *b)
{
    int t;
    t = *a;
    *a = *b;
    *b = t;
    printf("in swap2(),a=%d,b=%d\n", *a, *b);
}

void swap3(int *a, int *b)
{
    int *t;
    t = a;
    a = b;
    b = t;
    printf("in swap3(),a=%d,b=%d\n", *a, *b);
}



int main()
{
    int a1 = 1, a2 = 2, a3 = 3, a4 = 4, b1 = 11, b2 = 22, b3 = 33, b4 = 44;

    printf("before swap1(),a1=%d,a2=%d\n", a1, b1);
    swap1(a1, b1);
    printf("after swap1(),a1=%d,a2=%d\n", a1, b1);
    printf("\n");
    /* before swap1(),a1=1,a2=11
       in swap1(),a=11,b=1      
       after swap1(),a1=1,a2=11  */

    printf("before swap2(),a2=%d,b2=%d\n", a2, b2);
    swap2(&a2, &b2);
    printf("after swap2(),a2=%d,b2=%d\n", a2, b2);
    printf("\n");
    /* before swap2(),a2=2,b2=22
       in swap2(),a=22,b=2      
       after swap2(),a2=22,b2=2  */

    printf("before swap3(),a3=%d,b3=%d\n", a3, b3);
    swap3(&a3, &b3);
    printf("after swap3(),a3=%d,b3=%d\n", a3, b3);
    printf("\n");
    /* before swap3(),a3=3,b3=33
       in swap3(),a=33,b=3      
       after swap3(),a3=3,b3=33 
     */

        return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值