qq_24322085
2014-12-08 03:11
采纳率: 0%
浏览 1.9k

3个数从大到小排序用地址传递和值传递

3个数从大到小排序用地址传递和值传递(指针)
三个数从大到小分别用地址传递和值传递(指针)

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 瀚度 2014-12-08 03:30

    形参与实参,使用形参就是值传递方式,而实参则是地址传递。

    评论
    解决 无用
    打赏 举报
  • Coursera 2014-12-08 03:42

    值传递排序后,他们的值不会改变

    评论
    解决 无用
    打赏 举报
  • w810443616 2014-12-08 04:39

    说白了 就是 地址传递来排序就是 内存空间里 定义的这三个数它们不发生变化,用指针就相当于给它们贴标签,谁是第一谁是第二,指针按排序顺序逐个贴上标签。而值传递是,刚开始是乱序的,这三个数字的在内存里面的值要变化,是直接的比较。指针相当于间接比较,变的是对应的指针变量。综合来说,两个的区别是地址传递变的是三个指针变量储存的地址,值传递变的是内存空间三个数字变量的内容

    评论
    解决 无用
    打赏 举报
  • threenewbee 2014-12-08 07:21

    一个是
    sort(int * a, int * b, int * c)
    一个是
    sort(int& a, int& b, int& c)

    再定义一个临时变量t,排序代码如下

          if(a<b)
                    {                
                    t=a;
                    a=b;
                    b=t;
                    }
                    if(a<c)
                    {
                    t=a;
                    a=c; 
                    c=t; 
                    } 
                    if(b<c)
                    {
                    t=b; 
                    b=c; 
                    c=t; 
                    }
    
    评论
    解决 无用 1
    打赏 举报

相关推荐 更多相似问题