(!isspace(c) && !line_flag) 트루??
402
投稿した質問数 26
if (!isspace(c) && !line_flag) {
n_lines++;
line_flag = true;
}라는 문법이
빈칸이아니면서 라인플레그가 트루일때 if문이 실행되는데요.
질문은 두가지 입니다.
1. 위에서 라인플래그를 false 로 초기화를 했는데 어떻게 (!isspace(c) && !line_flag)문이 실행이 되나요?
2. if문 조건에서 !line_flag가 트루인데 다시 line_flag = true; 트루로 바꿔야하는 이유가 뭘까용?
우문에 현답을 부탁드릴게요 ..ㅠ
回答 4
2
네 맞습니다. 답글 주신 것과 원래 질문 주신 것을 종합해보니 질문자님께서 !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
안녕하세요.
라인 플래그가 true일때 실행되는 것이 아니라 false일 때 실행됩니다. line_flag 앞에 붙은 느낌표에 주목해주세요! if(!조건식) 라고 가정해보면 조건식 결과가 false면 if문이 실행되겠죠? 즉 !line_flag 조건식이 true 라는 것은 line_flag 가 false라는 것입니다. false 에 not (!)을 취하면 true가 되죠.
0
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

