|
发表于 2017-2-26 14:25:58
|
显示全部楼层
- #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;
- }
复制代码
我写的不好, 你的问题应该是定义的那个数组问题。
你把值保存到数组中,函数调用结束后会不会清理掉,还有判断你数组没赋值(数组有啥你都不知道)。怎么判断
我也是新手说的不好见谅 |
|