printf anidado (printf dentro de printf) en C

Prediga la salida del siguiente programa en C con un printf dentro de printf.

#include<stdio.h>
   
int main()
{
   int x = 1987;
   printf("%d", printf("%d", printf("%d", x)));
   return(0);
}

Salida :

198741

Explicación :
1. En primer lugar, se ejecuta el printf más interno, lo que da como resultado la impresión de 1987

2. Este printf devuelve el número total de dígitos en 1987, es decir, 4. printf() devuelve el número de caracteres impresos con éxito en la pantalla. Toda la declaración se reduce a:

printf("%d", printf("%d", 4));

3. El segundo printf luego imprime 4 y devuelve el número total de dígitos en 4, es decir, 1 (4 es un número de un solo dígito).

4. Finalmente, toda la declaración simplemente se reduce a:

printf("%d", 1);

5. Simplemente imprime 1 y la salida será:

Producción:

198741

Entonces, cuando aparecen varios printf dentro de otro printf , el printf interno imprime su salida y devuelve la longitud de la string impresa en la pantalla al printf externo .

Este artículo es una contribución de Rishav Raj . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@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 *