指针中返回值函数问题,查找不及格成绩不能输出。。。求大神。。。
#include<stdio.h>int main()
{
float score[][4]={{60,70,80,90},{65,75,85,95},{55,65,75,85}};
float*search(float(*pointer)[4],int n);
float*searcher(float(*point)[4],int n);
float *p;
int i,k,j;
printf("enter the numbers of student:\n");
scanf("%d",&k); //k是要查找的学生序号。
printf("the score of NO.%d are:\n",k);
p=search(score,k);
for(i=0;i<4;i++)
printf("%.2f ",*(p+i));//pointer+1是指向score数组序号为1的行(学生序号是从0计算的)
printf("\n"); //加*号后指针从行控制转化为列控制元素
for(i=0;i<3;i++){
p=searcher(score,i);
if(p==*(score+i)){
printf("NO.%d score:",i);
for(j=0;j<4;j++)
printf("%.2f ",*(p+j));
printf("\n");
}
}
return 0;
}
float*search(float(*pointer)[4],int n)
{
float *pt;
pt=*(pointer+n);
return pt;
}
float* searcher(float(*point)[4],int n)
{
float *p1;
int i=0;
p1= NULL;
for(;i<4;i++)
if(*(*point+i)<60)p1=*point;
return p1;
}