inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

7.8 단어 세기 예제

!line_flag 질문드립니다.

137

야링

작성한 질문수 2

0

삭제된 글입니다

c

답변 6

0

야링

아 ! 그러네요 8번째 줄의 line_flag도 값은 false네요.

그렇다면  8번째 줄의 if문에 충족을 못시키지 안나요?

 8 if (!isspace(ch) && !line_flag)의if 문은

 isspace(ch) 가 아니고   line_flag 거짓(현재 line_flage = 0 이니까))이 아닐때  line_flage가 1일때 true일때

8번째 if문으로 들어갈 수 있지 안나요? 그렇다면 아직 line_flag = false 인데 어떻게 들어갈수가 있나요?

위에 질문이랑 다 같은말인데 설명을 잘 못해서 계속 같은 질문해서 죄송합니다ㅠㅠ

0

코드쉼터

음.. 비주얼 스튜디오로 디버깅 하시죠?? 느낌표에 마우스 커서를 대지 마시고 정확히 "line_flag" 에 마우스 커서를 올리시면 false 라고 뜰거에요.. 아마 ! 에 마우스 커서를 올리셔서 "! line_flag" 계산된 결과가 표시된 걸꺼에요. 

11 번째 줄을 지나면 line_flag 는 true 가 되는게 맞습니다.

0

야링

아니요 ㅠㅠ 죄송해요 제가 글쓰는 재주가 없어서

그게 line_flag를 !line_flag 해도 line_flag 값이 변하지는 않겠죠.. 

제가 궁금한건 2번째줄에 line_flag = false로 정의하고

왜 8번째 if안에 있는 line_flag의 값은 true 되며 (그래야지 !line_flag 가 false가 되는거죠?)

디버깅을 돌렸을때 10번째 줄에 가도 왜 여전히 line_flag의 값은 false인지 

그러니까 왜 8번째 if문 안에있는 line_flag만 true값을 가지고 있는건지 그게 궁금한거에요

0

코드쉼터

아 햇갈려 하시는 부분을 이해했습니다 ! 를 붙이면 line_flag 값이 바뀌어 저장되는 것이 아닙니다... line_flag 가 false 였다면 ! line_flag 를 해도 line_flag 는 여전히 false 입니다.

우리가 수학에서 A * 2  를 한다고 해서 A 값이 2배 증가하는건 아닌것 처럼요..

! 는 * 와 같은 연산을 하기 위한 기호일 뿐입니다.

0

야링

네 그 개념은 이해 했습니다.

다만 2번째 줄에 line_flag = false로 정의해두고 8번째 줄 if문 안에 대입하여 비교할때의

!line_flag는 true가 되어야 하는것이 아닌가요?

line_flag는 false로 정의하였으니까요.

혹시나 싶어 while문에 line_flag가 다시 들어갈때

true로 다시 정의 되나 싶어서 디버깅을 해도 9번째 줄에 가도 line_flag는 false값으로 변함앖고

true로 다시 정의됐다고 하면 8번째 if문 안으로 못들어 가겠죠?

그래서 왜 8번째 안에 있는 line_flag만 true값을 가지고 있는지 궁금합니다

0

코드쉼터

! 는 논리적 (logical) NOT 연산자입니다. (0 이면 1 로 1이면 0 으로 반대로 바꾸는 연산입니다)

( ! true ) == false 와 같습니다.

그래서 line_flag 가 false 일때는 반대로 true 가 되는 것이에요.

Export template 안됨

1

28

2

완전히 똑같이 따라해도 exe파일이 안만들어져서 실행이 안됩니다.

1

56

3

main 함수에서 왜 int만 선언이 되는걸까요

1

57

2

8비트 2진수 변환시 왜 1을 더해야하나요?

1

55

2

혹시 강의를 빠르게 수강하려면 어디서부터 듣는게 좋을까요?

1

49

1

프로토타입과 함수간의 인자 불일치

1

73

2

12.12 헤더 관련 질문

1

60

2

Visual Studio Community 2026 사용 문의

1

138

2

Q. 15:30, 부호가 있는 8비트 정수 질문

1

61

2

getchar(), putchar()

1

94

3

강의자리ㅛ

1

80

2

비주얼스튜디오코드로 공부해도 상관없나요?

1

114

2

소스파일안에 여러 파일

1

76

2

F5와 F7의 차이

1

79

2

c = TWO * (a+b); 에서 a와 b는?

1

59

2

; 세미콜론을 붙이는 기준에 문의

1

70

1

Step over 기능 문의

1

53

2

2.6 강의 따옴표 출력 규칙 문의

1

76

2

int main 함수 관련 오류 문의

1

67

2

13.4 words[0]

0

61

2

11.7 함수를 구현해 봤습니다.

1

62

2

11.6 직접 strcmp와 strncmp를 구현해 보았습니다.

1

65

2

11.6 my_strcat과 my_strncat을 구현해봤습니다.

1

53

2

11.6 fit_str함수를 구현해 봤습니다.

1

54

2