求助大神看看怎么回事,是输出不合格学生的问题
#include<stdio.h>void main()
{
double score={{78,85,84,63},{56,98,87,79},{99,96,92,91},{62,50,84,96},{85,59,88,64}};
int *search(double (*p),int m);
int *p1;
int i;
p1=search(score,5);
for(i=0;*(p1+i)!=0;i++)
{
printf("NO.%d学生没有及格\n",*(p1+i));
}
}
int *search(double (*p),int m)
{
double *p2;
int *p3;
intp4;
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;
t++;
j=4;
}
}
}
*(p3+t)=0;
return p3;
} #include<stdio.h>
intp4 = {0};
void main()
{
double score={{67,85,84,63},{45,98,87,79},{56,96,92,91},{62,78,84,96},{85,59,88,64}};
int *search(double (*p),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),int m)
{
double *p2;
int *p3;
// intp4 = {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;
}
我写的不好, 你的问题应该是定义的那个数组问题。
你把值保存到数组中,函数调用结束后会不会清理掉,还有判断你数组没赋值(数组有啥你都不知道)。怎么判断
我也是新手说的不好见谅 qwe1231069 发表于 2017-2-26 14:25
我写的不好, 你的问题应该是定义的那个数组问题。
你把值保存到数组中,函数调用结束后会不会清理掉 ...
真的很感谢,问题解决了。本来想发私信感谢却没有权限(笑哭) FJDNJGYDX 发表于 2017-2-26 14:40
真的很感谢,问题解决了。本来想发私信感谢却没有权限(笑哭)
没事, 一起学习,互相帮助
你可以上我的主页看看我的问题。要是会的话,教教我 qwe1231069 发表于 2017-2-26 14:48
没事, 一起学习,互相帮助
你可以上我的主页看看我的问题。要是会的话,教教我
嗯
页:
[1]