C | Funciones | Pregunta 5

¿Producción?

#include <stdio.h>
  
int main()
{
    int (*ptr)(int ) = fun;
    (*ptr)(3);
    return 0;
}
  
int fun(int n)
{
  for(;n > 0; n--)
    printf("GeeksQuiz ");
  return 0;
}

(A) GeeksQuiz GeeksQuiz GeeksQuiz
(B) GeeksQuiz GeeksQuiz
(C) Error del compilador
(D) Error de tiempo de ejecución

Respuesta: (C)
Explicación: El único problema con el programa es que la diversión no se declara/define antes de asignarlo a ptr. El siguiente programa funciona bien e imprime «GeeksQuiz GeeksQuiz GeeksQuiz»

int fun(int n);

int main()
{
    // ptr is a pointer to function fun()
    int (*ptr)(int ) = fun;

    // fun() called using pointer 
    (*ptr)(3);
    return 0;
}

int fun(int n)
{
  for(;n > 0; n--)
    printf("GeeksQuiz ");
}

Cuestionario de esta pregunta

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 *