LHY_exe 2022-12-09 16:40 采纳率: 100%
浏览 19
已结题

#找二位数组最大值?为啥报错[Error] invalid types 'int[int]' for array subscript


#include<stdio.h>
    int main() {
    int G(int *s);
    int a[5][5]= {1,2,3,4,5,6,7,8,9,955,265,6,36,154,9116,56,98,74,54};
    int *p;
    p=&a[0][0];
    printf("%d",G(p));
    return 0;
}
int G(int *s) {
    int i=0,n,m;
    for(; i<=5; i++) {
        n=0;
        for(m=*s; n<5; n++)
            if(m<=s[i][n]) m=s[i][n];
    }
    return m;
}
  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2022-12-09 16:45
    关注

    m=*s你应该在双循环开始前赋值,不能在内层for循环中赋值啊。那样前面几次循环找最大值都白找了么
    另外s是int *类型,你是不能用s[i][n]二维数组方式访问的啊。循环也写错了,修改如下:

    #include<stdio.h>
        int main() {
        int G(int *s);
        int a[5][5]= {1,2,3,4,5,6,7,8,9,955,265,6,36,154,9116,56,98,74,54};
        int *p;
        p=&a[0][0];
        printf("%d",G(p));
        return 0;
    }
    int G(int *s) {
        int i=0,n,m=*s;
        for(; i<5; i++) {
            n=0;
            for(; n<5; n++)
                if(m<=*(s+5*i+n) )
                    m=*(s+5*i+n);
        }
        return m;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月17日
  • 已采纳回答 12月9日
  • 创建了问题 12月9日

悬赏问题

  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题