-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
강의 (10:06) 부분 코드 질문입니다.
23.01.09 22:12 작성 23.01.09 22:13 수정 조회수 196
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
강민철
2023.01.10
왜 아래 코드가 아닌
s_gets(list[cnt].title, MAX);
아래의 코드와 같이 if문을 넣어야 하느냐는 질문인 것 같습니다.
if (s_gets(list[cnt].title, MAX) == NULL) break;
말씀하신 것처럼 간단한 예외처리입니다.
s_gets는 char *를 리턴하기 때문에
NULL이 반환될 수 있습니다.
이럴 경우 break를 하라는 코드입니다.
답변 1