inflearn logo
강의

講義

知識共有

ホン・ジョンモのついていきながら学ぶC言語

7.8 単語の世紀の例

(!isspace(c) && !line_flag) 트루??

402

slam

投稿した質問数 26

0

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

n_lines++; 

line_flag = true; 

}라는 문법이

빈칸이아니면서 라인플레그가 트루일때 if문이 실행되는데요.

질문은 두가지 입니다.

1. 위에서 라인플래그를 false 로 초기화를 했는데 어떻게 (!isspace(c) && !line_flag)문이 실행이 되나요?

2. if문 조건에서  !line_flag가 트루인데 다시  line_flag = true; 트루로 바꿔야하는 이유가 뭘까용?

우문에 현답을 부탁드릴게요 ..ㅠ

라인플래그 c

回答 4

2

sohyun

네 맞습니다. 답글 주신 것과 원래 질문 주신 것을 종합해보니 질문자님께서 !line_flag 로 인하여 line_flag 값이 true가 된다고 이해하고 계신 것 같다고 파악했는데 맞을까요? 

그냥 A + 3; 하면 A 변수에 들은 값은 변하지 않습니다. 그냥 A값을 빌려와 이에 3을 더하는 행위를 하는 것뿐이죠. 기존 A의 값엔 변동이 없습니다.

반면에 A=A+3 은 실제로 A값을 기존값에 3 더한 값으로 수정하는 식입니다.

마찬가지로 !line_flag 는 이 조건식 자체가 true가 되는거지 line_flag 값은 계속 그대로 false입니다. line_flag 값을 true로 바꿔준게 아닙니다. line_flag = !line_flag 이렇게 해야 line_flag가 true가 됩니다. 

1

sohyun

안녕하세요.

라인 플래그가 true일때 실행되는 것이 아니라 false일 때 실행됩니다. line_flag 앞에 붙은 느낌표에 주목해주세요! if(!조건식) 라고 가정해보면 조건식 결과가 false면 if문이 실행되겠죠? 즉 !line_flag 조건식이 true 라는 것은 line_flag 가 false라는 것입니다. false 에 not (!)을 취하면 true가 되죠.

0

logt

https://www.inflearn.com/questions/150034

0

slam

7.8 단어 세기 예제 강의를 보시면 

교수님께서 bool line_flag = false;로 초기화를 하시거든요.

초기화가 됐기때문에  if(!isspace(c) && !line_flag) if문 조건식에서 다시 부정을하면  !false라서 true가 아닌가요??ㅠ

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

1

49

3

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

1

54

2

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

1

53

2

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

1

46

1

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

1

72

2

12.12 헤더 관련 질문

1

59

2

Visual Studio Community 2026 사용 문의

1

135

2

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

1

59

2

getchar(), putchar()

1

92

3

강의자리ㅛ

1

78

2

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

1

112

2

소스파일안에 여러 파일

1

74

2

F5와 F7의 차이

1

75

2

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

1

58

2

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

1

68

1

Step over 기능 문의

1

52

2

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

1

74

2

int main 함수 관련 오류 문의

1

67

2

13.4 words[0]

0

60

2

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

1

62

2

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

1

64

2

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

1

53

2

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

1

53

2

11.5 코드 구현

1

67

2