Я получаю ошибку сегментации для внутреннего цикла while.
char **c;
c=(char **)malloc(3*(N-1)*sizeof(char *));
for(int i=0;i<3*(N-1);)
{
char *temp;
gets(temp);
while(*temp!='$')
{
j=0;
while(*temp!=' ')
{
*(c[i]+j)=*(temp+j);
j++;
}
i++;
}
i++;
}
извините за неправильный отступ. Я знаю, что манипулирование строками char * вызовет ошибку. Но я не уверен в этой ошибке. Я пытался разбить строку tmp на три разные строки.
gcc -Wall -g
в Linux) и использовать отладчик (например,gdb
в Linux). Обучение использованию отладчика (и компилятора) практически является частью процесса обучения программированию на C. Вы также можете использовать детектор утечки памяти, такой какvalgrind
- person Basile Starynkevitch   schedule 05.11.2012gets
, поскольку это опасная устаревшая функция (и удаленная из последнего стандарта C). Вы можете использоватьgetline
илиfgets
- person Basile Starynkevitch   schedule 05.11.2012