작성
·
267
·
수정됨
0
printf("Input a book title or press [Enter] to stop.\n>>");
s_gets(list[cnt].title, MAX);
if (*list[cnt].title == '\0')
break;
저는 위와 같이 if문에 s_gets함수를 넣지 않고 코드를 작성했는데, 강의에서 if문을 넣은 것의 의미를 잘 모르겠어서 질문합니다.
s_gets 함수를 통해 아무것도 입력받지 못했을 때를 방지한다 <- 이 뜻이 맞을까요?
답변 1
1
왜 아래 코드가 아닌
s_gets(list[cnt].title, MAX);
아래의 코드와 같이 if문을 넣어야 하느냐는 질문인 것 같습니다.
if (s_gets(list[cnt].title, MAX) == NULL) break;
말씀하신 것처럼 간단한 예외처리입니다.
s_gets는 char *를 리턴하기 때문에
NULL이 반환될 수 있습니다.
이럴 경우 break를 하라는 코드입니다.
답변 감사드립니다.