| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 557 人关注过本帖
标题:[求助] 希望各位C大大帮忙解答下......
只看楼主 加入收藏
ansonsaku
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-2-15
结帖率:0
收藏
 问题点数:0 回复次数:9 
[求助] 希望各位C大大帮忙解答下......
有一班,3个学生,各学4门功课,计算第N个学生的成绩

main()
{void average(float *p,int n);
void search(float (*p)[4],int n);
float score[3][4]={{65.67.70.60},{80,87,90,81},{90,99,100,98}};
average(*score,12);/*求12个学生平均成绩..*score传给形参是将什么传给P呢?/
search(score,2);/*第2个学生成绩 score传给形参是将什么传给行参呢?*/
}
void average(float *p,int n)
{float *p_end;
float sum=0,aver;
p_end=p+n-1;
for(;p<=p_end;p++)
sum=sum+(*p);
aver=sum/n;
printf("average=%f\n",aver);
}
void search(float (*p)[4],int n);
{int i;
for(i=0;i<4;i++)
printf("%f",*(*(p+n)+i));
}
原来明白些了,看多2次又糊涂了~~望各位大大慷慨解笔.......回答的越清晰越好....感激!!!
搜索更多相关主题的帖子: 解答 
2007-03-04 01:29
I喜欢c
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:64
帖 子:1749
专家分:0
注 册:2007-3-2
收藏
得分:0 
score 传的是地址
*score 传的是值

不好意思,整反了``

[此贴子已经被作者于2007-3-10 16:05:37编辑过]


 我是指针,却丢失了目标地址!          我是循环,却缺少了结束条件!      我是函数,却没有人来调用!   
2007-03-04 13:16
ansonsaku
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-2-15
收藏
得分:0 
以下是引用I喜欢c在2007-3-4 13:16:12的发言:
*score 传的是地址
score 传的是值

可以详细点吗? 你说的很模糊咯

2007-03-04 20:23
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 
以下是引用ansonsaku在2007-3-4 1:29:08的发言:
有一班,3个学生,各学4门功课,计算第N个学生的成绩

main()
{void average(float *p,int n);
void search(float (*p)[4],int n);
float score[3][4]={{65.67.70.60},{80,87,90,81},{90,99,100,98}};
average(*score,12);/*把*score数组的65传给average函数*/
search(score,2);/*把score数组头的地址传给search函数*/
}
void average(float *p,int n)/* *p来接收65*/
{float *p_end;
float sum=0,aver;
p_end=p+n-1;/*把65的地址+12-1 就是98的地址(因为是数组所以地址都是相连的) 然后在赋值给p_end*/
for(;p<=p_end;p++)/* *P的值是65 P+1就等于score[0][1]也就是67。。。。后面循环一直到score数组的最后*/
sum=sum+(*p);
aver=sum/n;
printf("average=%f\n",aver);
}
void search(float (*p)[4],int n);
{int i;
for(i=0;i<4;i++)
printf("%f",*(*(p+n)+i));
}
原来明白些了,看多2次又糊涂了~~望各位大大慷慨解笔.......回答的越清晰越好....感激!!!

带*的是传值
不带的是传址


羊肉串 葡萄干 哈密瓜!!
2007-03-04 22:22
ansonsaku
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-2-15
收藏
得分:0 

晕一个说带*传地址 有个说传值..... 到底是哪个啊

2007-03-05 15:36
sl013
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-2-7
收藏
得分:0 

score是数组名做参数 是传址调用!!!
search函数参数中定义了一个指针!而score是数组名实际上是指向二维数组首元素(这里可看成是一维数组)的指针!!是指针做函数的参数!!
所以*score是传值调用!!

2007-03-05 21:32
ansonsaku
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-2-15
收藏
得分:0 
以下是引用sl013在2007-3-5 21:32:28的发言:

score是数组名做参数 是传址调用!!!
search函数参数中定义了一个指针!而score是数组名实际上是指向二维数组首元素(这里可看成是一维数组)的指针!!是指针做函数的参数!!
所以*score是传值调用!!

太感谢谢您了~~~

2007-03-07 12:21
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 
晕 我在4楼给你说的多详细啊你竟然看不见  

羊肉串 葡萄干 哈密瓜!!
2007-03-10 10:20
wanglff
Rank: 2
等 级:新手上路
威 望:5
帖 子:375
专家分:0
注 册:2005-12-21
收藏
得分:0 

忽悠你呵呵


自强不息:)
2007-03-10 12:36
mykoma
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-3-10
收藏
得分:0 
l楼主你好搞笑哦~~~~~

2007-03-10 23:37
快速回复:[求助] 希望各位C大大帮忙解答下......
数据加载中...
 
   



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

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