注册 登录
编程论坛 C++教室

Dev c++中的[Error] ld returned 1 exit status问题。

owenyoung 发布于 2016-03-20 22:11, 3159 次点击
程序代码:
//输出三个学生四门课平均分
#include<stdio.h>
void average(float*p,int n);
void search(float(*p)[4],int n);
int main(void)
{
    float score[3][4]={
    {65, 67, 70, 60},
    {80, 87, 90, 81},
    {90, 99, 100, 98},
    };
    float (*p)[4];
    int k;
    scanf("%d",&k);
    average(*score,12);
    search(score,k);
    return 0;
   
    void/*函数的返回值的数据类型*/ average(float *p /*指向变量的指针做形式参数*/,int n)//总元素的个数,平均式的被除数)
   
    {
        float *p_end;
        float sum=0,aver;
        
        p_end=p+n-1; //p_end指向二维数组的最后一个元素a[3][4]的地址
        for(/*不需要初始化*/;p<=p_end;p++)
           sum=sum+(*p);//*p为二维数组a[3][4]首元素a[0][0]的值,sum为各元素值的累加
        aver=sum/n;
        printf("average=%5.2f",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("%7.2f",*(*(p+n)+i));//输出二维数组元素a[i][j]的值。
         
         
         
     }
     
     
   
   

 }
2 回复
#2
luckhide2016-03-20 23:05
好像你花括号括错了。
#3
hjx11202016-03-20 23:24
程序代码:
#include<stdio.h>
void average(float*p,int n);
void search(float(*p)[4],int n);
int main(void)
{
    float score[3][4]={
    {65, 67, 70, 60},
    {80, 87, 90, 81},
    {90, 99, 100, 98},
    };
    float (*p)[4];
    int k;
    scanf("%d",&k);
    average(*score,12);
    search(score,k);
   
    return 0;

 }


 void average(float *p ,int n)//总元素的个数,平均式的被除数)

{
    float *p_end;
    float sum=0,aver;
   
    p_end=p+n-1; //p_end指向二维数组的最后一个元素a[3][4]的地址
    for(;p<=p_end;p++)
       sum=sum+(*p);//*p为二维数组a[3][4]首元素a[0][0]的值,sum为各元素值的累加
    aver=sum/n;
    printf("average=%5.2f",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("%7.2f",*(*(p+n)+i));//输出二维数组元素a[i][j]的值。
}
对于输入3以上的数字就是一个BUG
1