A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ios_fce 中级黑马   /  2014-4-25 22:11  /  1064 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. void Exchg2(int *px, int *py)
  2. {
  3. int tmp = *px; *px = *py;
  4. *py = tmp;
  5. printf("*px = %d, *py = %d.\n", *px,*py);
  6. } main()
  7. { int a = 4; int b = 6; Exchg2(&a, &b); printf("a = %d, b = %d.\n", a, b); return(0);
  8. }

复制代码

输出的结果为为:
*px=____, *py=____. a=____, b=____.
麻烦解析清楚。。。。

1 个回复

倒序浏览
*px = 6,  *py = 4
a = 6   , b = 4
稍微调整一下 以方便阅读
  1. #include <stdio.h>

  2. //互换指针的函数
  3. void Exchg2(int *px, int *py)
  4. {
  5.         //建立临时变量tmp 以存储*px的地址值
  6.         int tmp = *px;
  7.         //将*py的地址值赋存储到*px上
  8.         *px = *py;
  9.         //再将tmp值,即原*px的地址值赋值给*py,以达到*px与*py两地址值互换
  10.         *py = tmp;
  11.         //再将px与py两地址所对应的值分别打印出来。
  12.         printf("*px = %d, *py = %d\n", *px,*py);
  13. }


  14. int main()
  15. {       
  16.         int a = 4;
  17.         int b = 6;
  18.         //运行互换函数,互换a与 b的地址
  19.         Exchg2(&a, &b);
  20.         printf("a = %d, b = %d\n", a, b);
  21.         return 0;
  22. }
复制代码


另外哥们 return 0 不用加括号
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马