nested loop에서 break문의 outer loop을 종료하려면?

 

무슨말인지 알 사람들은 알겠지만, 모르는 사람을 위해 설명해주겠다.

 

이중 for 문을 만들 때, 또는 다중으로 만들 때,

outer loop { 

inner loop{}

}

이런식으로 구성이 될텐데, 그럴 때 어떻게 안쪽 loop에서 break를 이용해서 그만두냐는 말이다. 

 

안쪽에서 break를 하면 되지 않을까요? 하는데, 그렇게 하면 inner loop만 break하고, outer loop는 계속 실행을 하니까 맘대로 되지 않을거다.

int i,j;
bool terminate = false;

for (i=0; i<3; i++){
  for (j=10; j<12; j++){
    if (i==1) {
      terminate = true;
      break;
    }
    cout << i << "  " << j << endl;
  }
  if (terminate)  break;
}

이렇게 하면된다.

terminate라는 bool속성을 가지는 애를 만들어서 초깃값을 false로 만들고, 나오고 싶은 조건에 얘를 true로 만들어서 true 일 때 break를 걸어버리도록 만들면 된다는 것.

'TIL > [C++ 프로그래밍} TIL' 카테고리의 다른 글

TIL (22.03.23)  (0) 2022.03.23
TIL (22.03.21)  (0) 2022.03.21
TIL 4 (22.03.16)  (0) 2022.03.16
TIL 3 (22.03.16)  (0) 2022.03.16
TIL 2 (22.03.14)  (0) 2022.03.14