小飞好可爱 2015-09-26 09:39 采纳率: 100%
浏览 1523
已采纳

菜鸟的函数哪里出了问题?(C语言函数返回指针的题型)

实现功能,一旦某一组里面有一个成绩在line_num以下的,就把这一组的数字都输出。
代码如下,改了好久还是没发现问题出现在哪里。
求教高手指点,非常感谢 >< ~

# include<stdio.h>

int main(){
    float *search(float *(pointer)[3], float line);

    float score[][3]={
        {23, 56, 89},
        {56, 12, 91},
        {81, 73, 80},
        {34, 62, 95}
    };
    float line_num;
    int i;
    float *p_addr;

    printf("input the limit line:\n");
    scanf("%f", &line_num);
    p_addr=search(score, line_num);
    printf("the student's scores are listed here:\n");
    for(i=0; i<3; i++) printf("%f\t", *(p_addr+i));
    putchar('\n');

    return 0;
}

float *search(float *(pointer)[4], float line){
    float *p_addr;
    int i, j;

    for(i=0; i<4; i++){
        for(j=0; j<3; j++){
            if(*(*(pointer+i)+j)<line) return p_addr=*(pointer+i);
        }
    }
} 
  • 写回答

3条回答 默认 最新

  • nomasp 博客专家认证 2015-09-26 10:36
    关注

    好了,帮你改好了,请采纳吧……

    
    #include <stdio.h>
    #include <stdlib.h>
    
    float *search(float pointer[][3], float line);
    
    int main() {
    
        float score[][3] = {
            { 23, 56, 89 },
            { 56, 12, 91 },
            { 81, 73, 80 },
            { 34, 62, 95 }
        };
        float line_num;
        int i;
        float *p_addr;
    
        printf("input the limit line:\n");
        scanf("%f", &line_num);
        p_addr = search(score, line_num);
        printf("the student's scores are listed here:\n");
        for (i = 0; i<3; i++) printf("%f\t", *(p_addr + i));
        putchar('\n');
    
        return 0;
    }
    
    float *search(float pointer[][3], float line) {
        float *p_addr;
        int i, j;
    
        for (i = 0; i<4; i++) {
            for (j = 0; j<3; j++) {
                if (*(*(pointer + i) + j)<line)
                    return p_addr = *(pointer + i);
            }
        }
    }
    
    
    

    如果输入为60,由于你的输出为浮点型,所以输出是23.000000 56.000000 89.000000

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用