sueldo son resumen reporte razones por pedir para palabras ofrecen mediante mapa las jefe elemento ejemplo cuales como claves clave capitulos aumento argumentar argumentacion afirmaciones c compiler-construction for-loop infinite-loop

son - reporte de las claves de la argumentacion



¿Por qué la condición de prueba de "para(;;)" tiene éxito? (2)

El lenguaje C no tiene tal cosa como "expresión vacía". Si falta alguna expresión en la sentencia for , sintácticamente significa que se omite toda la expresión, no que esté allí, sino que esté vacía.

Un ciclo for con una segunda expresión omitida se repite para siempre porque la especificación de la instrucción for lo dice. Es decir, es una función dedicada específica for solo, no algo más genérico.

Additionaly (un nitpick terminológico) solo la segunda expresión es realmente una condición . El primero y el tercero no son realmente "condiciones".

En la medida en que entiendo "para (;;)" no tiene condición inicial, no hay condición de prueba y no hay condición de incremento, y por lo tanto se repite para siempre, tengo curiosidad por saber por qué la condición de prueba tiene éxito en cada ciclo.

¿La expresión vacía ";" evaluar como verdadero en C? ¿O es este un caso especial manejado por los compiladores?

Una pregunta similar, pero sin relación .


Esto es por la definición de la declaración for en el lenguaje C. 6.8.5.3/2 "La declaración for ":

Tanto la cláusula-1 como la expresión-3 pueden omitirse. Una expresión-2 omitida se reemplaza por una constante distinta de cero .