Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C 언어에서 while(1)과 while(0)의 차이점

<시간/>

우리가 알고 있듯이 C 언어에서 'while' 키워드는 루프에 인수로 전달된 조건에서 작동하는 루프를 정의하는 데 사용됩니다. 이제 condition은 true 또는 false의 두 값을 가질 수 있으므로 while 블록 내부의 코드는 condition이 true이면 반복적으로 실행되고 condition이 false이면 코드가 실행되지 않습니다.

이제 while 루프에 인수를 전달하면 while(1)이 조건이 항상 true로 처리되고 블록 내부의 코드가 반복적으로 실행되기 시작하는 루프이기 때문에 while(1)과 while(0)을 구별할 수 있습니다. 또한 루프에 전달되어 조건을 true로 만드는 것은 1이 아니지만 while 루프에 전달하기 위해 0이 아닌 정수가 있으면 true 조건으로 처리되어 코드가 실행되기 시작한다고 말할 수 있습니다.

반면에 while(0)은 조건이 항상 false로 처리되어 블록 내부의 코드가 실행을 시작하지 않는 루프입니다. 또한 루프에 전달되고 조건을 false로 만드는 것은 0일 뿐이라고 말할 수 있으므로 0이 아닌 다른 정수가 음수가 될 수도 있고 while 루프에 전달되면 true 조건으로 처리되므로 코드가 실행을 시작합니다.

위에서 논의한 요점은 아래 예시된 예시의 도움으로 증명될 ​​수 있습니다.

예시

while(1)의 예

#include using namespace std;
main(){
   int i = 0;
   cout << "Loop get started";
   while(1){
      cout << "The value of i: ";
      if(i == 10){ //when i is 10, then come out from loop
         break;
      }
   }
   cout << "Loop get ended" ;
}

출력

Loop get started
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
Loop gets ended

예시

while(0)의 예

#include
using namespace std;
main(){
   int i = 0;
   cout << "Loop get started";
   while(0){
      cout << "The value of i: ";
      if(i == 10){ //when i is 10, then come out from loop
      break; }
   }
   cout << "Loop get ended" ;
}

출력

Loop get started
Loop get ended