본문 바로가기

C

반복문에서 continue와 break 문 사용

반복문에서 continue break 문 사용 방법 및 예제

 

반복문에서 continue를 사용하면 뒤에 내용을 건너뛰고 반복문의 처음으로 돌아간다.

반복문에서 break를 사용하면 반복문을 말 그대로 break 시켜서 나오게 된다.

 

예를 들어 보자.. 반복문에서 switch 문을 사용하려고 한다.



int rowCount=0;

while(1){

 

 switch(Db_tmpMktType[0]){

                case '0':

                          dWertPapCnt += 1;

                          dWertPap    += Db_tmpItemPrc;

                          continue;

                          break;

                case '1':

                          dKosdaqCnt += 1;

                          dKosdaq    += Db_tmpItemPrc;

                          continue;

                          break;

                case '2':

                          dEtcCnt += 1;

                          dEtc    += Db_tmpItemPrc;

                          continue;

                          break;

                case '3':

                          dBondCnt += 1;

                          dBond    += Db_tmpItemPrc;

                          continue;

                          break;

                case '4':

                          dFuturesCnt +=1;

                          dFutures    += Db_tmpItemPrc;

                          continue;

                          break;

                case '5':

                          dCashCnt += 1;

                          dCash    += Db_tmpItemPrc;

                          continue;

                          break;

}

      rowCount++

break;

 

}

당연히  continue;   break;  둘 중 하나만 사용해야 한다



continue; 를 사용한다면? switch 문에 해당하는 case로 이동하여 코드를 실행하고 그 뒤에 내용은 건너뛰어 다시 while 문의 처음으로 간다. 위와 같은 경우 루프를 빠져나올 수 있는 조건이 없기 때문에 무한루프가 된다.


break;  를 사용하면 switch 블럭에서 나와 아래에 있는 break; 문이 실행되어 반복문에서 나오게 된다


(위에서는 반복문에서 break를 사용하면 반복문을 나온다고 했지만 예제에서는 반복문 안의 switch 블럭에서 break를 사용했기 때문에 switch에서만 빠져나온다.)

  


위에서 continue 를 사용하려고 한다면 while 과 switch 사이( 부분 ), 즉 continue가 실행되기 전에 반복문을 나올 수 있는 코드를 작성해야 한다.

while(1){

                    

                    

 switch(Db_tmpMktType[0]){

  

continue문이 실행되기전 반복문 탈출 조건>

while(1){

rowCount++;

if(rowCount==10)

           break;

 switch(Db_tmpMktType[0]){

 

 

이렇게 코드를 작성한다면 무한루프에 빠지지 않고 continue가 실행되기 전에 rowCount가 증가하기 때문에 반복문을 멈출수가 있다.

'C' 카테고리의 다른 글

c언어에서 소수점 반올림 쉽게 하기(sprint 사용)  (0) 2012.08.02