Я получаю ошибку сегментации в следующем коде. Я не совсем знаком с этой ошибкой.
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'
буквально символ для цифры «ноль».
Nul-терминатор, который отмечает конец C-строки: '\0'
,
Что я понимаю из вашего кода, что вы конвертируете 1D массив в 2D массив.
В этом случае ваш максимальный индекс массива 1D должен быть больше или равен, в зависимости от вашего требования к строке * столбца 2D массива.
Из кода я могу догадаться, что проблема с str [], которая читает значение из-за пределов.