편집 : 제대로 내 문자를 intilizing 시도에 대해 ... [didnt 한 일이 = (]scanf (% s, lastName);를 사용할 때 세그먼테이션 오류가 발생합니다. (내 몸 코드)
편집 :이 해결 (나는 ... 또 다른 7 시간 내 자신의 질문에 대답 할 수없는)
주석 브라이언에 대한덕분에, 그 (그것 = 20) ... 상단에 선언 단지 상수입니다.
그것은 내가 입력에 갔다 후 나는 다음 줄을 추가하는 것을 잊었다 때문에 오류가 일어나고 밝혀 이름.
현재 작동 중 = D
:지며 EndEdit (LOL)
내 아래 코드는, 기본적으로 내가 처음 이름에 넣어 코드를했습니다이는 그런 내가 마지막 이름에 넣어
존
을 찾을 예정이다 ...로크
하고 최대한 빨리 "로크"는이 오류 안타에 들어갈 때, 나는 어쩌면 내가 더 나은 대안을 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!
}
감사합니다. 문제는 내 루피와 관련이 있었고, 이중 포인터를 사용하고 있었기 때문에 ** p = lib-> 후원자 [i]에 한 번만 사용해야했습니다. * p = & lib-> 후원자 [i]였습니다. – ChrisB92