int i , j , cnt=0 ;
for( i=1; i<=10 ; i++){
for( j=i ; j<=10 ; j++){
cnt++;
if( i+j ==12) break;
}
}
break는 현재 수행중인 반복문을 종료하게 됩니다.
다시 말해서.. 두번재 for 문을 종료하고 다시 첫번재 for문을 타게 되겠죠...
다시 2번째에서 if()조건에 걸리면 다시 break될테고.. 다시 첫번재 for()문으로 갑니다..
안지훈 님이 쓰신 글 :
: 독학으로 공부하면서 나름대로 이해하려고 용쓰는데 어려움은 좀있네요...지금 반복문쪽(break문으로 반복문빠져나가기...)을 공부중인데....중간에 이해가 안돼는부분이있네요....책중간에 예제코드 같은걸로
:
: int i , j , cnt=0 ;
:
: for( i=1; i<=10 ; i++){
:
: for( j=i ; j<=10 ; j++){
: cnt++;
: if( i+j ==12) break;
: }
: }
:
: printf("count => %d\n", cnt);
:
: 이겨서 퀴즈로 이중for문에서 출력되는 cnt의 값을 계산해보라는문제인데요....중복된 for문에서 break는 가까운 for문을 빠져나간다고 되있는데....그럼 두번째 for문을 빠져나가서 다시 처음의 for문을 반복하면 다시 두번째 for문을 다시사용하나요??아님 한번빠져나간 for문은 그담부턴 사용안하는건가요??그게 궁금하고요....
: 답은 64로 되있는데 어째서 그렇게 되는지 이해가 안돼네요...연습문제도 아니라 설명도 안나와있어요...ㅠ.ㅠ 잘아시는분 조언좀 구할게요...절대 학교 과제 그런거 아닙니다....;;;;;꼭 부탁드립니다...
|