我在以下代码中收到分段错误。我不太喜欢这个错误。
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)
我从您的代码中了解到您正在将1D数组转换为2D数组。
在这种情况下,1D数组的最大索引应该大于或等于您对2D数组的行*列的要求。
从代码中我可以猜到,str []的问题是从超出范围读取值。
答案 1 :(得分:0)
'0'
字面意思是数字的字符&#34;零&#34;。
标记C字符串结尾的nul-terminator为'\0'
。