黑马程序员技术交流社区

标题: 关于指针问题。 [打印本页]

作者: ios_fce    时间: 2014-4-25 22:11
标题: 关于指针问题。
  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=____.
麻烦解析清楚。。。。
作者: 桑托尔    时间: 2014-4-25 22:27
*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 不用加括号




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2