!line_flag에 대한 질문 있습니다.
372
投稿した質問数 9
기존에 문의 삭제하고 다시 올립니다.
bool line_flag = false; 처음에 이렇게 선언을 해주면
if (!isspace(c) && !line_flag) 과정에서 "공백이 아니고 false가 아니라면" 으로 해석을 하고 있습니다.
그런데 강의에서 교수님에서는 true가 아니라면으로 말씀을 해주십니다.
왜 그런지 이유를 알 수 있을까요? false로 선언을 해주었는데 "false가 아니라면"이 아니라 왜 "true가 아니라면"으로 말씀을 해주신건지 이해가가지 않습니다.
line_flag를 false로 선언을해서 !false가 되어서 true가 되는 것 아닙니까? 그러면 "공백이 아니고 ture라면" 으로 해석해야 하는 것 아닌가요?
디버깅을 하였을때도 !line_flag가 true로 나올거라 생각을 했는데 false로 나와서 몇번이고 보았지만 이해가 되지 않습니다.
좋은답변 부탁드립니다.
回答 6
1
if(!isspace(c) && !line_flag) 가 의미하는 바는...
'공백이 아니고 line_flag 가 false 라면' 혹은 '공백이 아니고 line_flag 가 true가 아니라면' 입니다.
line_flag를 false로 선언을해서 !false가 되어서 true가 되는 것 아닙니까? 그러면 "공백이 아니고 true라면" 으로 해석해야 하는 것 아닌가요?
=> and 의 일반적인 상황을 두고 이야기 하시는건지, line_flag가 어떤 값을 가지고 있느냐에 대한 것인지 구분이 필요해보이네요.
전자라면 맞는 말입니다. 후자라면 틀린말입니다.
디버깅에 관해서는
디버깅을 할때 !line_flag 에 대한 정보가 나올 것이라 착각을 하고 계신 것은 아닌지요???
첫번째 while 문 진입입니다.
두번째 while문 진입입니다.
이번엔 이해하셨길 바랍니다. printf로 출력되고 있는 정보는 line_flag의 값입니다.
0 이면 false,
0 이 아니면 true입니다.
어쩌면 !line_flag 만으로 line_flag에 바뀐 값이 들어가 있을 것이다.
라고 생각하시는 것일 수도 있겠네요.
값을 넣어주려면
line_flag = !line_flag 를 해줘야합니다.
0
죄송합니다. 제가 이해를 잘 못해서 질문을 이상하게 했네요. 저는 if(true)를 성립하기 위해서는 !line_flag자리에 true가 들어와야 된다고 생각하고 한 질문이였는데 제가 아직 초보라 질문을 이상하게 했나보내요. 답변 감사드립니다.
0
if(true)를 성립 하기 위해 이해하신건 맞지만
Hello Yeo님 답글처럼 if(!isspace(c) && true)와 if(!isspace(c) && !true)에서 true = !line_flag입니다.
"공백이 아니고 false라면" -> "공백이 아니고 !line_flag가 false라면" 으로 해석하셔야 합니다.
"공백이 아니고 true가 아니라면" -> "공백이 아니고 !(!line_flag) 라면"
0
답변 감사합니다. 완벽한 이해를 위해서 질문을 좀 드려도 될까요?
혹시 if(1) 을 가지고 if문을 이해를 해야 하는 것이 맞나요? 그래서 if(!isspace(c) && !line_flag)이 if(1)을 성립 되기 위해서는
if(!isspace(c) && true)라고 생각을 하는데 여기에서 if(!isspace(c) && !true)가 되니깐 해석이 "공백이 아니고 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

