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

© LEON27 中级黑马   /  2015-6-23 22:50  /  629 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

数值交换,怎么换,怎么换,这么换才成功,跟着输了一遍代码,自己花了图,突然脑洞开了
  1. #include <stdio.h>

  2. /**
  3. *  不能交换
  4. *
  5. *  @param a <#a description#>
  6. *  @param b <#b description#>
  7. */
  8. void swap1(int a,int b){

  9.     //此处实质上是形参a和b值得交换,
  10.     //跟实参没有关系
  11.     int temp;
  12.     temp = a;
  13.     a = b;
  14.     b = temp;

  15. }

  16. //怎么交换正确的交换两个变量的值
  17. void swap2(int *p,int *p1){

  18.     //形参变量的地址进行的交换
  19.     int *temp;
  20.     temp = p;
  21.     p = p1;
  22.     p1 = temp;

  23. }

  24. //终级解决方案
  25. void swap3(int *p,int *p1){
  26.    
  27.     //通过指针直接修改变量的值了
  28.     int temp;
  29.     temp = *p;
  30.     *p = *p1;
  31.     *p1 = temp;
  32.    
  33. }

  34. int main(int argc, const char * argv[]) {
  35.    
  36.     int a = 4,b = 5;  // a = 5,b = 4
  37.     printf("交换前:a = %d,b = %d\n",a,b);
  38.     swap3(&a, &b);
  39.     printf("交换后:a = %d,b = %d\n",a,b);
  40.    
  41.    
  42.    
  43.     return 0;
  44. }
复制代码

1 个回复

倒序浏览
学习了,加油!兄弟!黑马见!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马