Imprima «Hello World» en C/C++ sin usar ningún archivo de encabezado

Escriba un programa C/C++ que imprima Hello World sin incluir ningún archivo de encabezado.

Conceptualmente, parece poco práctico escribir un programa C/C++ que imprima Hello World sin usar un archivo de encabezado de «stdio.h». Dado que la declaración de la función printf() contiene en el archivo de encabezado «stdio.h».

Pero podemos lograr esto fácilmente aprovechando las directivas de preprocesador de C. El hecho es que al momento de compilar un programa, la primera fase del preprocesamiento de C expande todos los archivos de encabezado en un solo archivo y luego el compilador mismo compila el archivo expandido. Por lo tanto, solo necesitamos extraer la declaración de la función printf() del archivo de encabezado y usarla en nuestro programa principal así:

  • Lenguaje C: simplemente declare la función printf() tomada del archivo de encabezado «stdio.h».

    //Declare the printf() function
    int printf(const char *format, ...);
      
    int main()
    {
      printf( "Hello World" );
      return 0;
    }
    Output: Hello World
  • Lenguaje C++: no podemos poner directamente la declaración de la función printf() como en el caso anterior debido al problema de la manipulación de nombres en C++. Vea esto para saber más sobre la manipulación de nombres. Por lo tanto, solo necesitamos declarar printf() dentro de la palabra clave externa de esa manera: –

    //Declare the printf() function inside
    //extern "C" for C++ compiler
    extern "C"
    {
    int printf(const char *format, ...);
    }
      
    int main()
    {
      printf( "Hello World" );
      return 0;
    }
    Output: Hello World

Vea esto para saber más sobre todas las fases de compilación del programa C.

Este blog es una contribución de Shubham Bansal . 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.

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 *