二维数组分配中的c++分割错误

C++ segmentation error in 2D array assignment

本文关键字:分割 错误 c++ 分配 二维数组      更新时间:2023-10-16

我在以下代码中收到分段错误。我对这个错误不太熟悉。

cout<<"r="<<r<<"c="<<c<<endl;
int i=0,k=0;
for(int k=0;k<r;k++)
    for(int j=0;j<c,str[i]!='0';j++)
        {
         (newl[k][j]=str[i]);  //shows segmentation error on debugging
          cout<<str[i];i++;
        }
谁能指出我犯的错误是什么?

'0'实际上是数字" 0 "的字符。

标记c字符串结束的空结束符是''

我从你的代码中了解到你正在将1D数组转换为2D数组。

在这种情况下,您的1D数组的最大索引应该大于或等于取决于您对2D数组的行*列的要求。

从代码中我可以猜到,str[]的问题是读取超出边界的值