완전초보 )C언어 bool 질문 드립니다

조회수 65회
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <ctype.h>
#include <stdbool.h>
#define STOP '.'

int main()
{
    char c;
    int n_chars = 0;        // number of non-space characters
    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))    // count non-space characters .. 입력받은 글자가 빈칸이 아니라면 
            n_chars++;      

        if (!isspace(c) && !line_flag)      // 빈칸이 아니고 line_flag 가 false 라면 
        {
            n_lines++;
            line_flag = true;
        }
        if (c == '\n')
            line_flag = false;

        if (!isspace(c) && !word_flag)
        {
            n_words++;
            word_flag = true;
        }
        if (isspace(c))
            word_flag = false;

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

    return 0;
}

제가 이 코드에서 if (!isspace(c) && !line_flag) 부터 이해가 안됩니다 디버깅을 해봐도 이해가 잘 안됩니다.

line_flagfalse 로 초기화를 했는데 if (!isspace(c) && !line_flag) 문에서 !line_flagfalse 인가요 true 인가요? 다른 예제로 변형해서 만드는건 성공했는데 이 예제 자체는 이해가 안됩니다. 도와주세요.

1 답변

답변을 하려면 로그인이 필요합니다.

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.