Diferencia entre while (1) y while (0) en lenguaje C

Requisito previo: ciclo while en C/C++
En la mayoría de los lenguajes de programación, un ciclo while es una declaración de flujo de control que permite que el código se ejecute repetidamente en función de una condición booleana dada. La condición booleana es verdadera o falsa.

mientras(1)

Es un bucle infinito que se ejecutará hasta que se emita explícitamente una declaración de interrupción. Curiosamente, no while(1) pero cualquier número entero que no sea cero dará un efecto similar a while(1). Por lo tanto, while(1), while(2) o while(-255), todos darán solo bucle infinito.  

Escribimos las condiciones entre paréntesis(). La condición puede resolverse como verdadera o falsa. Entonces 0 representa falso y cualquier valor excepto que es verdadero.

 tan lógicamente:

while(true) ==while(1)==while(cualquier valor que represente verdadero);

while(falso)==while(0);

while(1) or while(any non-zero integer)
{ 
    // loop runs infinitely
}

Un uso simple de while(1) puede estar en el programa Cliente-Servidor. En el programa, el servidor se ejecuta en un ciclo while infinito para recibir los paquetes enviados por los clientes. 
Pero en la práctica, no es recomendable usar while(1) en el mundo real porque aumenta el uso de la CPU y también bloquea el código, es decir, uno no puede salir de while(1) hasta que el programa se cierra manualmente. while(1) se puede usar en un lugar donde la condición debe ser verdadera siempre. 

C

// C program to illustrate while(1)
#include <stdio.h>
int main()
{
    int i = 0;
    while (1) {
        printf("%d\n", ++i);
        if (i == 5)
            break; // Used to come
                   // out of loop
    }
    return 0;
}

C++

#include <iostream>
using namespace std;
 
int main()
{
    int i = 0;
    while (1) {
        cout << ++i << "\n";
        if (i == 5)
            // Used to come
            // out of loop
            break;
    }
    return 0;
}
Producción

1
2
3
4
5

while(0)
Es lo contrario de while(1). Significa que la condición siempre será falsa y, por lo tanto, el código while nunca se ejecutará. 

while(0)
{ 
    // loop does not run
}

C

// C program to illustrate while(0)
#include<stdio.h>
int main()
{
  int i = 0, flag=0;
  while ( 0 )
  {
    // This line will never get executed
    printf( "%d\n", ++i ); 
    flag++;
    if (i == 5)
      break;
  }
  if (flag==0)
     printf ("Didn't execute the loop!");
 return 0;
}

C++

#include <iostream>
using namespace std;
 
int main() {
  int i = 0, flag=0;
  while ( 0 )
  {
    // This line will never get executed
    cout << ++i << "\n"; 
    flag++;
    if (i == 5)
      break;
  }
  if (flag==0)
     cout << "Didn't execute the loop!";
 return 0;
}
Producción

Didn't execute the loop!

Este artículo es una contribución de Anshika Goyal . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *