二维数组赋值中的 C++ 分段错误

C++ segmentation error in 2D array assignment

我在以下代码中收到分段错误。我不太了解这个错误。

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++;

        }

谁能指出我犯的错误是什么?

我从你的代码中了解到你正在将一维数组转换为二维数组。

在这种情况下,您的一维数组的最大索引应大于或等于您对二维数组的行 * 列的要求。

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

'0' 字面上是数字 "zero".

的字符

标记 C 字符串结束的空终止符是 '[=11=]'