조건 반복문 질문: for 문 ?
for 문에서
초기화 -> 조검검사->참이면 처리->증감->조건검사->조건 감사-> 아닌가요?
intc=0;
for(I=1; I>3; i++) {
c++;
}
printf("c=%d",c);
정답: ?
답변이 어려운 질문
좋은 질문 예시
3강 12분 35초에서 설명하신 반복문 조건식이 이해되지 않습니다. 왜 i < 10으로 작성하나요?5강 08분 10초에서 나온 코드 실행 결과가 제 환경에서는 다르게 나옵니다. 아래는 제가 작성한 코드입니다.
정확한 강의 위치와 질문 내용을 함께 남겨주시면 더 빠르고 정확하게 답변드릴 수 있습니다.
Answer 1
0
for 문이 어떻게 흘러가는지 한 단계씩 풀어서 설명하겠습니다.
int c = 0;
for(i = 1; i > 3; i++) {
c++;
}
printf("c=%d", c);
1단계 — 초기화
반복문에 들어가기 전에 c = 0으로 시작합니다. 그리고 for 문이 처음 실행되면서 초기화 부분인 i = 1이 딱 한 번 실행됩니다. 이제 i는 1입니다.
2단계 — 조건 검사
초기화 다음에는 곧바로 조건을 검사합니다. 조건은 i > 3이고, 지금 i가 1이므로 1 > 3인지를 따집니다. 1은 3보다 크지 않으므로 이 조건은 거짓(false)입니다.
3단계 — 반복문 종료
for 문의 규칙상 조건이 거짓이면 본문으로 들어가지 않고 바로 반복문을 빠져나옵니다. 즉 중괄호 안의 c++는 단 한 번도 실행되지 않습니다. 증감식 i++도 실행되지 않습니다. 본문을 실행해야 그다음에 증감으로 넘어가는데, 애초에 본문에 진입하지 못했기 때문입니다.
4단계 — 출력
c는 처음에 넣어둔 값 그대로 0입니다. 따라서 printf는 화면에 c=0을 출력합니다.
정리하면, 초기값 i = 1이 조건 i > 3을 처음부터 만족하지 못해서 반복문이 아예 돌지 않았고, 그래서 c는 증가할 기회 없이 0으로 남은 것입니다.
정답: c=0
15분 48초 질문
0
3
1
26-1년도 이론문제 재탕
0
18
1
26-1년도 코드문제 재탕
0
14
0
이론재탕만 눈치챘어도
0
27
1
25-3년도 이론문제 재탕
0
19
1
25-3년도 코드문제 재탕
0
14
0
출력값 문의
0
17
2
25-2 분기커버리지
0
19
0
25-2 이론 재탕
0
27
1
25-1 이론 재탕
0
26
1
서브넷 마스크
0
35
1
모의고사 1회 계산문제 2개 맞았는데
0
55
2
업캐스팅 문제 예시 4번 부모 호출
0
46
2
모의고사 자료 해설이 너무 불친절하네요.
0
87
2
부모의 생성자 출력 관련
0
41
2
24-3 이론파트 재탕문제
0
46
0
누락코드
0
40
1
다차원 배열 포인터 질문있습니다
0
57
3
24-2 이론 파트 재탕
1
54
1
모의고사 5회
0
46
1
12분 10초 func(values, 0, 1)을 넣을 때
0
42
1
모의고사 1회 4번 문제와 관련한 질문이 있습니다.
0
48
2
23- 3 재탕문제
0
68
1
23- 1 재탕문제
0
52
0

