Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

284
Vistas
¿Cuál es el equivalente adecuado de "while (true)" en C simple?

Dado que C no tiene bool , ¿cuál es la variable adecuada para colocar en lugar de true en un algoritmo que usa

 do { // ... } while(true);

???

¿Debería un programador de C apropiado hacer

 do { // ... } while(1);

¿O hay una variable específica reservada para significar " algo que no es cero/NULO "?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Por lo general, hoy en día veo

 while(1) { ... }

Solía ser común ver

 for(;;) { ... }

Todo consigue el punto a través.

over 4 years ago · Santiago Trujillo Denunciar

0

Su pregunta no es realmente sobre bool (que tiene C moderno si #include <stdbool.h> ), se trata de la mejor manera de escribir un ciclo infinito.

Los modismos comunes son:

 while (1) { /* ... */ }

y

 for (;;) { /* ... */ }

Este último parece un poco oscuro, pero está bien definido. Se puede omitir cualquiera de las tres expresiones en un encabezado for ; si se omite la segunda expresión, que controla cuándo continúa ejecutándose el bucle, el valor predeterminado es verdadero.

while (1) es probablemente el método más sencillo, pero algunos compiladores pueden advertir sobre una condición que siempre es cierta. for (;;) probablemente evita eso, ya que no hay una expresión (explícita) sobre la que advertir.

Personalmente, no usaría un ciclo do / while , porque la condición está en la parte inferior.

Hay formas más complicadas de escribir un ciclo infinito ( while (1 + 1 == 2) et al, pero ninguna de ellas realmente vale la pena.

Tanto while (1) como for (;;) serán perfectamente claros para cualquier persona con una buena comprensión de C.

over 4 years ago · Santiago Trujillo Denunciar

0

Si estás usando c89:

Cree una definición booleana:

 typedef int bool; #define true 1 #define false 0

O constantes:

 /* Boolean constants. */ #define TRUE 1 #define FALSE 0

Esto le da al int un significado para usted.

O (como se menciona en otra parte aquí) si usa c99:

 #include <stdbool.h>

Mi experiencia con las universidades últimamente es que requieren que uses c89.

http://en.wikipedia.org/wiki/C_data_types#stdbool.h

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda