Elija la mejor afirmación para el siguiente programa.
#include "stdio.h" int foo(int a) { printf("%d",a); return 0; } int main() { foo; return 0; }
(A) Dará como resultado un error de compilación porque foo se usa sin paréntesis.
(B) No hay error de compilación y se pasaría algún valor basura a la función foo. Esto haría que foo se ejecutara con la salida «entero basura».
(C) No hay error de compilación, pero la función foo no se ejecuta. El programa no imprimía nada.
(D) No hay error de compilación y CERO (es decir, 0) se pasaría a la función foo. Esto haría que foo se ejecutara con la salida 0.
Respuesta: (C)
Explicación: en C, si se usa un nombre de función sin paréntesis, la referencia al nombre de la función simplemente genera un puntero a la función, que luego se descarta. Entonces, el programa anterior compilaría pero no imprimiría nada.
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