안녕하세요?
교수님의 설명 그대로가 맞습니다..
'!' 기호는 not입니다.
애초에 line_flag가 true인지 false지 는 제쳐두고 '!'만 생각하십시오.
'!'가 뜻하는 의미는 == false 입니다.
즉, 우리는 false로 초기화 했기 때문에 실행시킬 수 있는 조건입니다.
아직도 이해가 안된다면 제가 이해하게 된 힌트를 알려드리겠습니다.
힌트는 !isspace(c) 입니다.
여기서 if는 내부적으로 true or false로 받아드립니다.
!isspace는 isspace == false로 풀어 쓸 수 있다고 교수님께서 설명해주셨는데요,
똑같이 대입해보면 이해가 가실 겁니다.
if에서 line_flag를 바꿔주는게 아니라 line_flag가 false냐고 묻는겁니다.