标题:实参到形参 得不到想要的结果 新手求助
只看楼主
t495647533
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2014-10-17
结帖率:66.67%
已结贴  问题点数:20 回复次数:6 
实参到形参 得不到想要的结果 新手求助
#include <stdio.h>
void 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};
    int m;
    average(*score,12);
    scanf("please input No:%d \n",&m);
    printf("m=%d\n",m);
    search(score,m);
}
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=%-5.2f  \n",aver);


}
void search(float (*p)[4],int n)
{
    int i;
    printf("the score of No.%d are:\n",n);
    for(i=0;i<4;i++)
        printf("%-5.2f  ",*(*(p+n)+i));
    printf("\n");
}
当输入M为2时怎么得不到想要的结果?
搜索更多相关主题的帖子: average include search please 
2014-10-17 22:33
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:1 
你想干嘛

DO IT YOURSELF !
2014-10-18 07:41
BruceZong
Rank: 1
等 级:新手上路
帖 子:2
专家分:9
注 册:2013-3-30
得分:9 
scanf("please input No:%d \n",&m);
输入语句有问题,scanf按指定格式输入。
按你的意思应该做修改:
printf("please input No:\n");
scanf("%d", &m);
就可以了
2014-10-18 11:09
erty1001
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:331
专家分:1433
注 册:2014-8-31
得分:10 
简单说说:
楼上说的对  
  另外就是 average(*score,12);这条语句
我建议新手不要去练习传递二维数组,我建议刚开始直接把二维数组定义为全局变量
这样传递肯定是错误的,因为需要指定二维数组 的最低维度向量的长度。
2014-10-18 16:53
t495647533
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2014-10-17
得分:0 
回复 2 楼 wp231957
我想得到三个学生的平均成绩
  然后输入M为2
希望查到第二个同学的四门成绩
2014-10-19 11:50
t495647533
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2014-10-17
得分:0 
回复 3 楼 BruceZong
不行呀
2014-10-19 11:51
t495647533
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2014-10-17
得分:0 
回复 4 楼 erty1001
有没有关于C教程好的书籍推荐一下呢?
2014-10-19 11:52



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-437371-1-1.html




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

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