조건 반복문 질문: for 문 ?
for 문에서
초기화 -> 조검검사->참이면 처리->증감->조건검사->조건 감사-> 아닌가요?
intc=0;
for(I=1; I>3; i++) {
c++;
}
printf("c=%d",c);
정답: ?
답변이 어려운 질문
좋은 질문 예시
3강 12분 35초에서 설명하신 반복문 조건식이 이해되지 않습니다. 왜 i < 10으로 작성하나요?5강 08분 10초에서 나온 코드 실행 결과가 제 환경에서는 다르게 나옵니다. 아래는 제가 작성한 코드입니다.
정확한 강의 위치와 질문 내용을 함께 남겨주시면 더 빠르고 정확하게 답변드릴 수 있습니다.
답변 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
25-2 분기커버리지
0
12
0
25-2 이론 재탕
0
16
1
25-1 이론 재탕
0
15
1
서브넷 마스크
0
20
1
모의고사 1회 계산문제 2개 맞았는데
0
34
2
업캐스팅 문제 예시 4번 부모 호출
0
39
1
모의고사 자료 해설이 너무 불친절하네요.
0
79
2
부모의 생성자 출력 관련
0
38
2
24-3 이론파트 재탕문제
0
39
0
누락코드
0
39
1
다차원 배열 포인터 질문있습니다
0
53
3
24-2 이론 파트 재탕
1
50
1
모의고사 5회
0
43
1
12분 10초 func(values, 0, 1)을 넣을 때
0
41
1
모의고사 1회 4번 문제와 관련한 질문이 있습니다.
0
44
2
23- 3 재탕문제
0
63
1
23- 1 재탕문제
0
46
0
파이썬 추가 코드
0
58
1
배열 포인터 출력 표시
0
54
2
포인터 증감 또는 값 증감
0
55
2
배열 포인터 함수 관련
0
52
2
실기 이론 통합 요약본 버전
0
68
2
업캐스팅 3번 문제 예시
0
65
2
push pop 설명 되어있는 강의가 몇강인가요?
0
53
1





