void search(float (*pointer)[4],int n){
printf("成绩为");
float *m;
m = *(pointer + n) ;
for (int i = 0; i < 4; i ++){
printf("%f",(m+ i));
}
}
int main(int argc, const char * argv[]) {
float score[][4] = {{60,70,80,90},{56,89,67,88},{34,78,90,66}};
int n;
printf("输入查找的学生序号");
scanf("%d",&n);
search(score, n);
return 0;
}
为什么会报错control reaches end of non-void function
我没有发现你报的错误。简单调整了几处代码,在mingw和vs2010上编译通过并运行正确:
#include <cstdio>
using namespace std; //前面这两句是我加的。
void search(float (*pointer)[4],int n){
printf("成绩为");
float *m;
m = *(pointer + n) ;
for (int i = 0; i < 4; i ++){
printf("%f ",*(m+ i));//这个地方我把(m+i)改成了*(m+i)
}
}
int main(int argc, const char * argv[]) {
float score[][4] = {{60,70,80,90},{56,89,67,88},{34,78,90,66}};
int n;
printf("输入查找的学生序号");
scanf("%d",&n);
search(score, n);
return 0;
}