1
0

c8-26.c 1014 B

1234567891011121314151617181920212223242526
  1. #include <stdio.h>
  2. int main()
  3. {float score[ ][4]={{60,70,80,90},{56,89,67,88},{34,78,90,66}}; //定义数组,存放成绩
  4. float *search(float (*pointer)[4]); // 函数声明
  5. float *p;
  6. int i,j;
  7. for(i=0;i<3;i++)
  8. {p=search(score+i); //调用search函数,如有不及格返回score[i][0]的地址,否则返回NULL,
  9. if(p==*(score+i)) //如果返回的是score[i][0]的地址
  10. {printf("No.%d score:",i);
  11. for(j=0;j<4;j++)
  12. printf("%5.2f ",*(p+j)); // 输出score[i][0]到score[i][3]的值
  13. printf("\n");
  14. }
  15. }
  16. return 0;
  17. }
  18. float *search(float (*pointer)[4]) // 定义函数,形参pointer是指向一维数组的指针变量
  19. {int i=0;
  20. float *pt;
  21. pt=NULL; // 先使pt的值为NULL
  22. for(;i<4;i++)
  23. if(*(*pointer+i)<60) pt=*pointer; // 如果有不及格课程,使pt指向score[i][0]
  24. return(pt);
  25. }