여기서 우리는 C 또는 C++에서 while(1)과 while(0)의 차이점이 무엇인지 알아볼 것입니다. while은 C 또는 C++의 루프입니다. 이 루프를 사용하여 하나의 조건을 확인할 수 있으며 조건이 true인 동안 루프 내의 명령문이 실행됩니다.
while(1) 또는 while(0이 아닌 값)은 무한 루프에 사용됩니다. 당분간은 조건이 없습니다. 1 또는 0이 아닌 값이 있으면 조건은 항상 참입니다. 그래서 영원히 실행될 루프 내부에 존재하는 것. 이 무한 루프에서 벗어나려면 조건문과 break 문을 사용해야 합니다.
예시
#include<iostream> using namespace std; main(){ int i = 0; cout << "Starting Loop" << endl; while(1){ cout << "The value of i: " << ++i <<endl; if(i == 10){ //when i is 10, then come out from loop break; } } cout << "Ending Loop" ; }
출력
Starting Loop The value of i: 1 The value of i: 2 The value of i: 3 The value of i: 4 The value of i: 5 The value of i: 6 The value of i: 7 The value of i: 8 The value of i: 9 The value of i: 10 Ending Loop
유사하게 while(0)은 false 조건을 가진 while로 처리됩니다. 따라서 이런 종류의 루프는 쓸모가 없습니다. 0은 false로 처리되므로 내부 문을 실행하지 않습니다.
예시
#include<iostream> using namespace std; main(){ int i = 0; cout << "Starting Loop" << endl; while(0){ cout << "The value of i: " << ++i <<endl; if(i == 10){ //when i is 10, then come out from loop break; } } cout << "Ending Loop" ; }
출력
Starting Loop Ending Loop