Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

286
Views
¿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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!