我在以下代码中收到分段错误。我对这个错误不太熟悉。
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[]的问题是读取超出边界的值