| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 531 人关注过本帖
标题:一段代码的含义不懂,请教一下?
只看楼主 加入收藏
C语言学徒
Rank: 2
来 自:NamKing
等 级:论坛游民
帖 子:51
专家分:22
注 册:2009-2-27
结帖率:90%
收藏
已结贴  问题点数:20 回复次数:6 
一段代码的含义不懂,请教一下?
输入十个整数,将其中最小的书与第一个数对换,最大的数和最后一个数对换,写出这个对换函数:
代码如下:
void max_min_value(int num[])
{int *max,*min,*p,temp;
max=min=num;
for(p=num+1;p<num+10;p++)
 if(*p>*max) max=p;
 else if(*p<*min) min=p;
temp=nm[0];num[0]=*min;*min=temp;
if(max=num) max=min;   /*这一行和下一行是什么意思,我看不懂*/
temp=num[9];num[9]=*max;*max=temp;
}
请大家提醒下,我刚学C,谢谢!

[ 本帖最后由 C语言学徒 于 2009-9-3 23:10 编辑 ]
搜索更多相关主题的帖子: 含义 代码 
2009-09-03 22:33
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:20 
temp=num[0];num[0]=*num;*num=temp; /*你这里的*num应该抄错了,是*min,把较小的数放至num[0],min存入num[0]值。 */
·
if(max=num) max=min;   /*这里应是max==num,意思是max和num指向是否同一地址,如果相等证明指向是同一地址,说明num数组中num[0]元素后的数没有一个比num[0]大,max=min,这时min值是原来的num[0]值,*/
·
temp=num[9];num[9]=*max;*max=temp;   /*把最大的数放至num数组的尾部*/

努力—前进—变老—退休—入土
2009-09-03 23:01
xdyuan33
Rank: 3Rank: 3
来 自:广西大学化工学院
等 级:论坛游侠
帖 子:146
专家分:145
注 册:2009-7-24
收藏
得分:0 
上一个就看不懂了,*num!=num[0]??

参与切磋是美德,每天回帖即可获得10分可用分!
2009-09-03 23:05
C语言学徒
Rank: 2
来 自:NamKing
等 级:论坛游民
帖 子:51
专家分:22
注 册:2009-2-27
收藏
得分:0 
以下是引用UserYuH在2009-9-3 23:01的发言:
temp=num[0];num[0]=*num;*num=temp; /*你这里的*num应该抄错了,是*min,把较小的数放至num[0],min存入num[0]值。 */
·
if(max=num) max=min;   /*这里应是max==num,意思是max和num指向是否同一地址,如果相等证明 ...
max=min,这时min值是原来的num[0]值,*/   大哥的这句话还是没明白什么意思?麻烦说透点,我太笨了。呵呵
2009-09-03 23:12
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:0 
你的代码第7行。temp=num[0];num[0]=*min;*min=temp;  这行运行完*min是就原num[0]的值。我之前也有说到,
如还不明白后两行的意思,你先假设数组num[0]是整个数组里的最大数,然后试着走一遍程序。试试。

努力—前进—变老—退休—入土
2009-09-03 23:29
C语言学徒
Rank: 2
来 自:NamKing
等 级:论坛游民
帖 子:51
专家分:22
注 册:2009-2-27
收藏
得分:0 
以下是引用UserYuH在2009-9-3 23:29的发言:
你的代码第7行。temp=num[0];num[0]=*min;*min=temp;  这行运行完*min是就原num[0]的值。我之前也有说到,
如还不明白后两行的意思,你先假设数组num[0]是整个数组里的最大数,然后试着走一遍程序。试试。
胡了,明白,呵呵……谢谢了!
2009-09-03 23:31
xdyuan33
Rank: 3Rank: 3
来 自:广西大学化工学院
等 级:论坛游侠
帖 子:146
专家分:145
注 册:2009-7-24
收藏
得分:0 
如果MAX指向NUM数组的第一个元素NUM[0],则把先前存放最小值的MIN指针的地址放在MAX中,结果使第一个数是最小的 */
   

                                    

参与切磋是美德,每天回帖即可获得10分可用分!
2009-09-03 23:42
快速回复:一段代码的含义不懂,请教一下?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016128 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved