|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 麻烦帮我看下,我调试了好久就是得不到结果……
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
651
人关注过本帖
标题:
麻烦帮我看下,我调试了好久就是得不到结果……
只看楼主
加入收藏
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
11
楼
收藏
得分:6
你自己写的fun()函数,参数是什么,里面的m=a是干什么,自己应该清楚呀。a是指向STU数组的指针,m是指向STU元素的指针,你这样赋值的目的是什么呢?m已经变了性质,没意识到?
授人以渔,不授人以鱼。
2011-08-07 18:20
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
12
楼
收藏
得分:0
你为什么好好返回所求序号不做,偏要把结果赋值到变量中通过参数返回呢?这种设计方式不是教坏人吗?我多少次说过慎用指针,不熟练乱用干什么,有很多种优良的设计途径,不是非用指针来炫耀不可的。
在这里,明显你的设计思路就不清晰,还要硬用指针,在自己到底想干什么都没弄清的情况下,调试三个钟都搞不好,正常啦,三天都搞不好。
[
本帖最后由 TonyDeng 于 2011-8-7 18:35 编辑
]
授人以渔,不授人以鱼。
2011-08-07 18:31
举报帖子
使用道具
赠送鲜花
ai8343512
等 级:
论坛游民
帖 子:75
专家分:94
注 册:2011-8-7
第
13
楼
收藏
得分:0
回复 11楼 TonyDeng
现在终于知道了错误所在,我把m=a换成*m=a[0],把m=&a[i]换成*m=a[i]就行了。
其实我一直对这方面概念不清晰,直到现在我才知道原来函数参数也有性质之分,一开始也只是想m只能承接一个数组元素的数据,然后就让它们的首地址相等,认为可以等价数组的第一个元素……我等下还会去看下结构体数组这节的概念。
为此,表示感谢,谢谢。
思考不应该由他人来指导,会思考的人不需要你来提醒他去思考一个简单的问题。
2011-08-07 18:38
举报帖子
使用道具
赠送鲜花
ai8343512
等 级:
论坛游民
帖 子:75
专家分:94
注 册:2011-8-7
第
14
楼
收藏
得分:0
回复 12楼 TonyDeng
其实,这是二级参考题上的要求,它要我设计这样的程序段,我也没办法,说实在的,我好讨厌指针,搞的我晕头转向,我也是迫不得已啊……
思考不应该由他人来指导,会思考的人不需要你来提醒他去思考一个简单的问题。
2011-08-07 18:41
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
15
楼
收藏
得分:5
孺子可教!
其实在这里,你要用m返回结果,不要用指针,应用“引用”,在调用点是&m,接收处仍然是m,这样对传入来的参数m作任何修改,都是直接修改原本。当要通过地址形式修改原变量的时候,优先用引用,这是比指针好的多得方法。不过,在这个具体例子中,本来确实不需要两个参数的,只要传入a[]数组就可以了,找出最值的位置序号,用函数返回值返回,更加直接。这些设计方法,都比你现在这个版本好。
授人以渔,不授人以鱼。
2011-08-07 18:45
举报帖子
使用道具
赠送鲜花
ai8343512
等 级:
论坛游民
帖 子:75
专家分:94
注 册:2011-8-7
第
16
楼
收藏
得分:0
嗯,谢谢夸奖。
其实我一般都是用你所说的第二种方法,如果要我编写,我会这样编写:
程序代码:
STU fun(STU a[]) { STU m=a[
0
];
for
(
int
i=
1
;i<N;i++)
if
(a[i].s>m.s) m=a[i];
return
m; }
思考不应该由他人来指导,会思考的人不需要你来提醒他去思考一个简单的问题。
2011-08-07 18:54
举报帖子
使用道具
赠送鲜花
ai8343512
等 级:
论坛游民
帖 子:75
专家分:94
注 册:2011-8-7
第
17
楼
收藏
得分:0
回复 15楼 TonyDeng
但对于你说的第一种引用的方法,我还是要说不太懂
反正不管怎么说,我最多一天,我一定可以了解这种方法!谢谢哈。
思考不应该由他人来指导,会思考的人不需要你来提醒他去思考一个简单的问题。
2011-08-07 18:56
举报帖子
使用道具
赠送鲜花
17
2/2页
1
2
快速回复:
麻烦帮我看下,我调试了好久就是得不到结果……
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.017256 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved