인프런 커뮤니티 질문&답변

뾱뾱님의 프로필 이미지
뾱뾱

작성한 질문수

홍정모의 따라하며 배우는 C언어

7.8 단어 세기 예제

if (!isspace(c) && !ine_flag) 질문 있습니다!

해결된 질문

작성

·

228

0

bool line_flag = false; 라고 초기화했잖아요,

그래서 맨 첫번째 줄바꿈이 일어나기 전에 입력할 때는

첫번째, 두번째 if문의 조건이 다 성립하니까 n_chars++도 실행되고 n_lines++도 실행될 거라 생각했는데

왜 실제로는 첫번째 if문만 성립해서 n_chars++만 실행되는 건가요?

답변 1

0

안녕하세요!

강의의 몇분대에서 두번째 if가 실행이 안됐던건지 알 수 있을까요?

제가 가지고 있는 7.8 강의의 코드에선 n_lines ++ 가 있는 두번째 if 도 잘 실행됩니다.

새로운 라인이 시작됐을때, 즉 새로운 라인의 글자를 읽을 땐 두번째 if도 잘 실행됩니다.

두번째 if 문 내에서 line_flag = true; 가 되므로 그 이후로는 두번째 if 가 실행 안되구요 

뾱뾱님의 프로필 이미지
뾱뾱
질문자

세상에 제가 맨 첫줄 입력할 때부터 n_lines가 1 커져야 한다는 생각을 못하고 두번째 줄 갔을 때부터 n_lines++가 실행되어야 한다고 착각을 했네욥 감사합니다 !!!

뾱뾱님의 프로필 이미지
뾱뾱

작성한 질문수

질문하기