开发者社区> 问答> 正文

如何通过指针交换两个变量的值?

如何通过指针交换两个变量的值?

展开
收起
gxx1 2022-03-29 23:57:33 484 0
1 条回答
写回答
取消 提交回答
  • #include <stdio.h>

    int main(){

    int a = 100, b = 999, temp;

    int *pa = &a, *pb = &b;

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

    / * * * * * 开始交换 * * * * * /

    temp = *pa; //将a的值先保存起来

    *pa = *pb; //将b的值交给a

    *pb = temp; //再将保存起来的a的值交给b

    / * * * * * 结束交换 * * * * * /

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

    return 0;

    }

    运行结果:

    a=100, b=999

    a=999, b=100

    上述代码就实现了连个变量的值得交换。我们对代码进行分析,从运行结果可以看到,最终的a、b 值发生了交换。在这里我们需要注意的是临时变量 temp,它的作用很重要,因为在执行 * pa = * pb;语句之后 a 的值就会被 b 的值覆盖,如果我们不先将 a 的值保存起来以后就找不到了。

    2022-03-29 23:59:00
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载