Alguien sabe por qué y cómo funciona esto? Lo que va a ser impreso [duplicar]

0

Pregunta

#include <stdio.h>
int main(){
    for (printf ("3"); printf("2"); printf("1")) break;
return 0;
}


¿Alguien puede explicar como funciona esto? ¿Por qué se hace de impresión de 32? Cuando me quite el freno es un bucle infinito y se imprime el número 12?

c for-loop printf
2021-11-24 01:49:58
2

Mejor respuesta

1

En primer lugar, printf ("3") se ejecuta, por lo que se imprime 3. Entonces printf("2") es ejecutado, impresión 2. Porque printf()'s el valor de retorno es el número de caracteres que se imprime, que en este caso, es 1y porque 1 es un valor distinto de cero, el bucle continúa en el cuerpo. La primera instrucción en el cuerpo es break, es decir, para salir del bucle. Por lo que el bucle termina. Por lo que el resultado en la pantalla 32

2021-11-24 02:22:32
1

printf("3") se llama cuando el bucle for se inicializa. printf("2") es de llamar para ver si el bucle de iteración debe terminar.

printf() devuelve el número de caracteres que se imprime, la cual es de 1 en ambos casos, por lo que el bucle se decide a ejecutar.

El cuerpo del bucle es simplemente break, por lo que el bucle termina en ese punto, y el programa termina.

2021-11-24 02:17:50

En otros idiomas

Esta página está en otros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Slovenský
..................................................................................................................