#include<stdio.h>
int p4[50] = {0};
void main()
{
double score[5][4]={{67,85,84,63},{45,98,87,79},{56,96,92,91},{62,78,84,96},{85,59,88,64}};
int *search(double (*p)[4],int m);
int *p1;
int i;
p1=search(score,5);
for(i=0;*(p1+i) != 0 && i < 10; i++)
{
printf("NO.%d学生没有及格\n",*(p1+i));
}
}//*(p1+i)== 5 &&
int *search(double (*p)[4],int m)
{
double *p2;
int *p3;
// int p4[50] = {1};
int i,j,t=0;
p3=p4;
for(i=0;i<m;i++)
{
p2 = *(p+i);
for(j=0;j<4;j++)
{
if(*(p2+j)<=60)
{
*(p3+t)= (i +1);//不及格学生的地址
t++;
j=4;
}
}
}
*(p3+t)=0;
return p3;
}
我写的不好, 你的问题应该是定义的那个数组问题。
你把值保存到数组中,函数调用结束后会不会清理掉,还有判断你数组没赋值(数组有啥你都不知道)。怎么判断
我也是新手说的不好见谅 |