请问这个C程序哪里错了

来源:百度知道 编辑:UC知道 时间:2024/06/07 11:34:33
问题是这样的:有若干个学生的成绩(每个学生有4门课程),要求在用户输入学生学生序号以后,能输出刻学生的全部成绩。
#include<stdio.h>
void main()
{float score[3][4]={{60,70,80,90},{56,89,67,88},{34,78,90,66}};
float *search(float(*pointer)[4],int n);
float *p;
int i,m;
printf("enter the number of student:");
scanf("%d",&m);
printf("the scores of No.%d are:",m);
p=search(score,m);
for(i=0;i<4;i++);
printf("%5.2f\t ",*(p+i));
printf("\n");
}

float *search(float(*pointer)[4],int n)
{float *pt;
pt=*(pointer+n);
return(pt);
}

运行后:
输入0,输出56.00
输入1,输出34.00
输入2,输出0.00
检查了很多次都找不到原因,请高人帮忙解决

你的For循环后边有分号,把分号去了就可以了。
错误:
for(i=0;i<4;i++);
正确:
for(i=0;i<4;i++)
编程往往就是很小的错误却耽误很长时间,要细心啊。

for(i=0;i<4;i++);
printf("%5.2f\t ",*(p+i));
printf("\n");

这里没括号啊

for(i=0;i<4;i++)
{
printf("%5.2f\t ",*(p+i));
printf("\n");
}