• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

단어세기 예제line_flag =true; 가 의미하는 게 뭔지 모르겠어요..

20.01.13 00:34 작성 조회수 144

0

int main()

{

char c;

int n_chars = 0;

int n_lines = 0;

int n_words = 0;

bool word_flag = false;

bool line_flag = false;

printf("Enter text : \n");

while ((c = getchar()) != STOP)

{

if (!isspace(c))

n_chars++;             // count non-space characters

if (!isspace(c) && !line_flag)

{

n_lines++;

line_flag = true;

}

if (c == '\n')

line_flag = false;

}

printf("Characters = %d, Words = %d, Lines = %d\n", n_chars, n_words, n_lines);

}

bool word_flag = false;

bool line_flag = false;

이 두 문장이 어떻게 쓰이는지 모르겠어요..

그리고 

line_flag =true;   이 문장이 어떤걸 의미하는지도 이해가 안갑니다. 

그리고 앞선 강의에 설명이 되어있다면 제가 어떤 강의를 참고해야 될까요..?

답변 1

답변을 작성해보세요.

0

if (!isspace(c) && !line_flag) 이 부분이 이해가 가지 않으신다면 논리 연산자를 다시 공부하셔야 할 것 같습니다.

일단 디버거를 활용해서 언제 그 변수들의 값이 변하는 지를 직접 찾아보시기를 권장합니다.

하나하나 따져보는 것이 처음에는 쉽지 않은데, 한 번 익숙해지면 실력 향상이 빨라집니다.