当前位置: 代码迷 >> C语言 >> [求助]简单的指针数组,交换的时候出现错误
  详细解决方案

[求助]简单的指针数组,交换的时候出现错误

热度:99   发布时间:2006-05-03 10:50:00.0
多谢谢各位的帮忙,呵呵
问题已经解决
但我想*max=*min=*p跟max=min=p
我感觉这两个表示的是一个意思啊
但为什么第一种写法就不对了呢
----------------解决方案--------------------------------------------------------
*max=*min=*p

这是将*MAX和*MIN直接指向了一个整数而不是地址,能直接赋给指针的只有0
----------------解决方案--------------------------------------------------------
以下是引用gaga在2006-5-3 10:50:00的发言:
多谢谢各位的帮忙,呵呵
问题已经解决
但我想*max=*min=*p跟max=min=p
我感觉这两个表示的是一个意思啊
但为什么第一种写法就不对了呢

*max=*min=*p
你上面的程序还没有为min和max分配空间,不能对其进行操作,这是错误的.
max=min=p
把max和min都指向p指向的空间,这样才可以对其指向的值进行操作。


----------------解决方案--------------------------------------------------------

真是听君一话,胜读十年书啊
多谢谢了啊
交个朋友吧
我的QQ281813553


----------------解决方案--------------------------------------------------------
我没有加到你
我先去吃饭了啊

----------------解决方案--------------------------------------------------------

呵呵,我也刚吃完回来.
我QQ:113669756


----------------解决方案--------------------------------------------------------
9楼的 :for(q=q+1;q<temp+n-1;q++)

好像有问题...它的第二个表达式应该是.......q<=temp+n-1......吧.

----------------解决方案--------------------------------------------------------
for那有点问题吧    ..................q&lt;=temp+n-1.........吧
----------------解决方案--------------------------------------------------------

不,就那样,
你再想想.
其实如果循环到temp+n-1,这个程序就不用比较了,因为程序的目的就是要把最大挪到最后面,最小的挪到最前面而已,即便比较了,也是一样;而如按你所说,swap(q,?)时就会溢出了.


----------------解决方案--------------------------------------------------------
  相关解决方案