인프런 커뮤니티 질문&답변
7.8 단어 세기 예제
작성
·
189
1
교수님께서 작성하신 단어 세기 예제를 보면 while문 안의 if문들이 다 if(expression) 형태인데, 왜 else if는 사용하지 않으신 건가요??
전에 강의에서 if (income <= base1) else if (income <= base2) 이면 else if의 정확한 범위는 base1 < income <= base2 가 된다고 하셨는데 그런 특징과 관련된 건가요?
만약 그런거라면 아래와 같이 코드를 작성해도 될까요? 두 가지 경우 모두 봐주세요..
while ((ch = getchar()) != STOP)
{
if (!isspace(ch))
{
character++;
if (!word_flag)
{
word++;
word_flag = true;
}
if (!line_flag)
{
line++;
line_flag = true;
}
}
else
word_flag = false;
if (ch == '\n')
line_flag = false;
}
while ((ch = getchar()) != STOP)
{
if (!isspace(ch))
character++;
if (!isspace(ch) && !line_flag)
{
line++;
line_flag = true;
}
else if (ch == '\n')
line_flag = false;
if (!isspace(ch) && !word_flag)
{
word++;
word_flag = true;
}
else if (isspace(ch))
word_flag = false;
}
답변 1
1
안녕하세요?
else if는 의미가 if 가 '아니라면' 다음 조건을 검사합니다.
if에서 true가 받아지면 다음 else if 문들은 무시합니다.
이 부분은 코드를 보니 어느정도 이해를 하신 것 같네요. 가능합니다.
그런데 사람마다 스타일이 있기 때문에 어떤 정답이 있다. 라고 못박아두시는 것은 좋지 않다고 생각합니다.





