Мой файл имеет следующий шаблон.
word1 word2 word3
wordzz word33 word2431 word341
и т. Д.
Теперь ячитать весь файл в массиве структуры, каждая запись массива поддерживает связанный список для каждой строки файла.
Теперь весь код довольно сложно объяснить, но здесь есть проблема.
В конкретном месте, когда я пытаюсь сделать следующее
printf("\n%s",ptr1->name);
puts(ptr1->name);
, где ptr1
- это название заголовка любого связанного списка.(скажем, строка 1)
поле имени - это имя, т. е. word1,word2 etc.
Теперь вывод
word1word1
word2word2
word3
Почему word3
не печатается дважды?Эта целая проблема даже мешает мне strcmp
последнее слово в списке.
Пожалуйста, помогите.
PS
также, когда я делаю
printf("%d",ptr1);
он печатает три разных значения для ptr
, ни одно из которых не равно NULL
.
У меня есть два одинаковых массива одинаковой структуры.Я использую одну и ту же функцию для заполнения двух массивов.СЕЙЧАС
node* ptr,*ptr1;
ptr=first[i].ptr;
ptr1=second[i].ptr;
while(ptr!=NULL)
{
printf(" \n1");
printf(" %s", ptr->name); // Works Fine
if(!strcmp(ptr->name,"string"))
{
while(ptr1!=NULL)
{
printf("A %s ",ptr1->name);// Problem
fflush(stdout); // EDITS AS ASKED BY USER `pmg`
puts(ptr1->name);
if(!strcmp(ptr1->name,strt))
{
printf("\n 4\n");
return 1;
}
else
{
ptr1=ptr1->next;
}
}
return 0;
}
else
{
ptr=ptr->next;
}
}
Почему у меня проблема в упомянутом месте, а не в месте 'отлично работает'.
При работоспособности мне показывают все узлы (имена), но впроблемная точка: мне не показывают фамилию.
Но если я ставлю проблему, она отображает и это имя.
, если перед этим фрагментом кода я печатаю второй массив, используятолько printf.он печатает каждый узел (имя).Может кто-нибудь сказать мне, почему он не печатает позже .?