2 qq 24322085 qq_24322085 于 2014.12.08 11:11 提问

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

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

4个回答

Prolovecui
Prolovecui   2014.12.08 11:30

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

eagleyan
eagleyan   Rxr 2014.12.08 11:42

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

w810443616
w810443616   2014.12.08 12:39

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

caozhy
caozhy   Ds   Rxr 2014.12.08 15: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; 
                }
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!