毕左二少 2022-08-26 10:03 采纳率: 100%
浏览 44
已结题

请问为什么报错?报错不懂

请问以下代码为什么错?报错看不懂。谢谢


#include<bits/stdc++.h>
using namespace std;
int n,m;
int main(){
    cin>>n>>m;
    int jz[n][m];
    for(int x=0;x<=n;x++){
        for(int y=0;y<=m;y++)
        cin>>jz[x][y];
        cout>>"x">>x>>endl>>"y">>y>>endl>>"数">>jz[x][y];
    }
}
  • 写回答

2条回答 默认 最新

  • a5156520 2022-08-26 10:08
    关注

    两个for循环的结束条件改一下, x=n,或者y=m会访问jz数组越界,因为jz行最大下标是n-1,列最大下标是m-1.

     
    #include<bits/stdc++.h>
    using namespace std;
    int n,m;
    int main(){
        cin>>n>>m;
        int jz[n][m];
        for(int x=0;x<n;x++){
            for(int y=0;y<m;y++)
            cin>>jz[x][y];
            cout>>"x">>x>>endl>>"y">>y>>endl>>"数">>jz[x][y];
        }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月3日
  • 已采纳回答 8月26日
  • 创建了问题 8月26日