本帖最后由 ba21 于 2018-2-9 14:42 编辑 #include <stdio.h>
double *locate_student(double *student, int n); //这里的指针类型要匹配
void print_score(double *p); // 打印不用返回值
void main()
{
double a[][5]={{86, 85.5, 73.5, 61, 79},{62.5, 74, 70.5, 92, 86}, {73.5, 66, 85.5, 96, 61}, {65, 72.5, 68, 98.5, 81}};
int m;
double *locate; //这里的指针类型要匹配
printf("please input the number of student:\n");
scanf("%d", &m);
locate=locate_student(&a[0][0], m); //这里的指针类型要匹配
printf("the score of student %d is:\n", m);
print_score(locate);
}
double *locate_student(double *student, int n) //这里的指针类型要匹配
{
double *p;
p=student+5 * n; // 指针跨行 (走5列为1行)
return (p);
}
void print_score(double *p)
{
int i;
for (i=0; i<5; i++)
{
printf("score of subject %d is %.2lf\n", i+1, *(p+i));
}
}
|