Ошибка сегментации C ++ при назначении двумерного массива

Я получаю ошибку сегментации в следующем коде. Я не совсем знаком с этой ошибкой.

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

}

Может ли кто-нибудь указать, какую ошибку я совершаю?

-2

Решение

'0' буквально символ для цифры «ноль».

Nul-терминатор, который отмечает конец C-строки: '\0',

0

Другие решения

Что я понимаю из вашего кода, что вы конвертируете 1D массив в 2D массив.

В этом случае ваш максимальный индекс массива 1D должен быть больше или равен, в зависимости от вашего требования к строке * столбца 2D массива.

Из кода я могу догадаться, что проблема с str [], которая читает значение из-за пределов.

0

По вопросам рекламы [email protected]