2 mingye1234 mingye1234 于 2016.03.17 16:11 提问

求大神指正 本人小白一枚``

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

1个回答

cxsmarkchan
cxsmarkchan   2016.03.17 16:24
已采纳

我没有发现你报的错误。简单调整了几处代码,在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;
}
mingye1234
mingye1234 感谢指导
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!