mingye1234
2016-03-17 08:11
采纳率: 60%
浏览 1.3k
已采纳

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

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 2016-03-17 08: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;
    }
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题