45.8 심사문제 질문
, 정 Cel님이 작성45.8 심사문제에서
while (ptr!=NULL)
{
if (ptr!=NULL && strcmp(ptr, "the") == 0)
count++;
ptr = strtok(NULL, " .,");
}
1) while 에서 이미 ptr가 NULL이 아닌지 체크하는데 if문에서 또 체크해야 하는 이유가 있나요?
2) 그리고 이 문제에서 unit44에서 배운 strstr 함수를 사용해서 (char *ptr = strstr(s1, "the");) 풀어도 되는건가요?
감사합니다!!
Re: 45.8 심사문제 질문
, 도장_ 관리자님이 작성UNIT 45.1을 보면 그림 45-3이 있습니다.
strtok 함수가 끝까지 동작하면 ptr이 NULL이 되고 반복문을 끝내게 됩니다.
따라서 NULL 체크는 끝이 아닌지 확인하기 위해 필요합니다.
어떤 방법으로 문제를 해결해도 됩니다. 풀이는 여러 가지가 있을 수 있습니다.