네...답변 감사합니다...제가 곰곰히 생각해 봤습니다만....break로 한번 for문을 탈출하면 그후에는 두번째 for문이 쓰이
지 않는거 같네요...그래야 답이 64가 나오는데....i+j가 12가 될려면 일단 i,j값이 모두 6일때 탈출하는데.....그럼 그때까
지 cnt의 증가값은 60 이구요...답은 64였으니까...
나머지 4는 첫번째 for문에서 남은 4개의 숫자가 반복되서 결국 결과값이 64가 되는거 같네요...
확실한지 몰겠지만...^^;;
zepirox 님이 쓰신 글 :
: 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로 되있는데 어째서 그렇게 되는지 이해가 안돼네요...연습문제도 아니라 설명도 안나와있어요...ㅠ.ㅠ 잘아시는분 조언좀 구할게요...절대 학교 과제 그런거 아닙니다....;;;;;꼭 부탁드립니다...
|