РЕДАКТИРОВАТЬ: собирается попробовать правильно использовать мои символы ... [не работает = (]
РЕДАКТИРОВАТЬ: РЕШЕНО (я не могу ответить на свой вопрос еще 7 часов ...)
Спасибо за комментарий, Брайан, это просто константа, объявленная сверху ... (это = 20).
Оказывается, ошибка произошла, потому что я забыл добавить следующую строку после ввода имени ввода.
сейчас работает = D
: ENDEDIT (смеется)
Я кодирую свой код ниже, в основном я ввел имя, которое должно найти
John
Тогда я введу фамилию ...
Локк
и как только я вхожу в "Локк", появляется эта ошибка, я чувствую, что это может быть scanf, и мне следует использовать лучшую альтернативу ???
int findPatron(struct Library *lib,struct Patron **p)
{
int i;
char firstName[NAME_LENGTH], lastName[NAME_LENGTH];
printf("\nPlease enter the patron's first name: ");
scanf("%s",firstName);
printf("\nPlease enter the patron's last name: "); //this line prints...
scanf("%s",lastName); //SEGMENTATION ERROR happens here I'm pretty sure.
printf("deerrrr"); //this line never prints
for(i = 0; i<lib->totalPatrons;i++)
{
printf("checking %s %s to %s %s",lib->patrons[i].name.first,lib->patrons[i].name.last,firstName,lastName);
if((strcmp(lib->patrons[i].name.first, firstName) == 0) && (strcmp(lib->patrons[i].name.last, lastName) == 0))
{
**p = lib->patrons[i];
return 0;
break;
}
}
return 1; //No Match!
}