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

简单习题求大神指错

fl8962 发布于 2012-10-28 19:45, 217 次点击
#include<stdio.h>有四个学生,知道他们各自的4科成绩,任意输入一个学生的编号,求出他们的成绩。。求大神帮忙改错。。
void main()
{
    float score[][4]={{66,55,44,55},{66,77,88,99},{55,44,33,22},{55,45,56,67}};
    float *search(float(*p1)[4],int n);
    printf("请输入你要找的学生的编号");
    float *p2;
    int j,m;
    scanf("%d",&m);
    p2=search(score,m);
    for(j=0;j<4;j++)
        printf("%5.2f\t",*(p2+j));
}
float*search(float (*p1)[4],int n)
{
    float *p3;
    p3=*(p1+n);
    return(p3);
}
1 回复
#2
寒风中的细雨2012-10-28 19:59
回复 楼主 fl8962
初步勘探 有可能越界访问外 其余没啥
程序代码:
float*search(float (*p1)[4],int n)
{
    float *p3;
    if (n < 0 || n > 3)
    {
        printf ("访问越界\n");
        exit(-1);
    }
    p3=*(p1+n);
    return(p3);
}


 
1