#include<stdio.h>
main()
{
float *search(float (*pointer)[4]);
float score[][4]={{60,70,80,90},{56,89,67,88},{34,78,90,66}};
float *p;
int j,i,m;
for(j=0;j<3;j++)
{ p=search(score+j);
if(p==score+j)
{printf("The No.%d: ",j);
for(i=0;i<4;i++)
printf("%5.2f\t",*(p+i));------------------这里点*(p+i)用*(*(score+j)+i)或*(*p+i)都好理解,为什么
} *(*p+i)却不能通过编译呢???错误:说非法使用浮点数;
printf("\n"); 而且*(p+i)我觉得应该等于*(score+j+i);是不能通过编译
} 的,而事实恰好相反;我的理解哪里出错了?
getch();
}
float *search(float (*pointer)[4])
{int i; float *pt;
pt=pointer+1;
for(i=0;i<4;i++)
if(*(*pointer+i)<60)
pt=pointer;
return (pt);
}
这个程序本身能通过编译,而且能输出正确的结果,但偶对红色部分不太了解,请路过的朋友
指教指教,不胜感激!!!!!