Я пытаюсь исправить эту ошибку в течение часа, но все еще не могу понять это. Я получаю ошибку сегментации точно на месте, где я не манипулирую с массивом.C код - ошибка сегментации: 11
int height, width, i=0, j=0;
char newline;
scanf("%d %d%c", &height, &width, &newline);
if(newline != '\n')
{
return 0;
}
char pole[height][width];
char nch;
while(1)
{
nch = getchar();
if(nch == EOF)
{
break;
}
if(nch != '\n')
{
pole[i][j] = nch;
printf("i=%d a j=%d\n", i, j); //for my info, there it still runs
j++;
}
//The end of working piece of code (in last cycle...)
if(j>= width)
{
j=0;
i++;
}
if(i >= height)
{
break;
}
}
Начать с: 'char nch;' - >> 'int nch;' И 'i' и' j' используются, но не определены. (не являются 'width' и' hight') – wildplasser
Ну, во-первых, 'getchar()' возвращает 'int', а не' char', и если я правильно помню, неявно кастинг на 'int', как вы делают это, чтобы сравнение «EOF» потерпело неудачу. –
Что сказал вам отладчик? –