Salida del programa C | Conjunto 21

Prediga la salida de los siguientes programas en C.

Pregunta 1

#include<stdio.h>
#define fun (x) (x)*10
  
int main()
{
    int t = fun(5);
    int i; 
    for(i = 0; i < t; i++)
       printf("GeesforGeeks\n");
  
    return 0;
}

Salida: Error del compilador
Hay un espacio adicional en la declaración de la macro que hace que fun sea reemplazada por (x). Si eliminamos el espacio adicional, el programa funciona bien e imprime «GeeksforGeeks» 50 veces. A continuación se muestra el programa de trabajo.

#include<stdio.h>
#define fun(x) (x)*10
  
int main()
{
    int t = fun(5);
    int i; 
    for(i = 0; i < t; i++)
       printf("GeesforGeeks\n");
  
    return 0;
}

Tenga cuidado al tratar con macros. Los espacios adicionales pueden causar problemas.

Pregunta 2

#include<stdio.h>
int main()
{
    int i = 20,j;
    i = (printf("Hello"), printf(" All Geeks "));
    printf("%d", i);
  
    return 0;
}

Salida: Hello All Geeks 11
La función printf() devuelve el número de caracteres que imprimió con éxito. El operador de coma evalúa sus operandos de izquierda a derecha y devuelve el valor devuelto por la expresión más a la derecha (consulte esto para obtener más detalles). Primero printf(«Hola») ejecuta e imprime «Hola» , el printf(«Todos los Geeks») ejecuta e imprime «Todos los Geeks» . Esta instrucción printf devuelve 11 que se asigna a i.

Escriba comentarios si encuentra que alguna de las respuestas/explicaciones es incorrecta, o si desea compartir más información sobre los temas discutidos 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 *