Red de conocimiento de abogados - Derecho de sociedades - Pregunta de la entrevista: El lenguaje C utiliza diez métodos para implementar el programa hola mundo ¿Cómo hacerlo?

Pregunta de la entrevista: El lenguaje C utiliza diez métodos para implementar el programa hola mundo ¿Cómo hacerlo?

1 El "¡Hola mundo!" más clásico, use printf directamente para generar "¡Hola mundo!"

#include lt; incluir lt; iostreamgt;

int main(){

printf("¡Hola mundo! "); // Método de escritura del libro de texto

puts("Hola mundo!"; ! "); // Mis favoritos

puts("Hola" " " "mundo!"); // Empalme de cadenas

std::cout lt; lt; " Hola mundo !" lt; lt; std::endl; // Escritura de libros de texto estilo C

return 0;}

2. "¡Hola mundo!" escrito con macros

"#" puede "extraer" el nombre del parámetro y convertirlo en una cadena.

#include lt;stdio.hgt;

#define Decir(algo) pone (#algo)

int main(){

return Say(¡Hola mundo!);

}

3. "¡Hola mundo!" sacado de contexto

#include lt; ;

int main(){

return puts ("No digas: ¡Hola mundo! "[12]);

}

4. "¡Hola mundo!" que se ejecuta al salir

atexit() registra la función de devolución de llamada. Esta función se puede llamar varias veces y la última función registrada se ejecuta primero.

#include lt;stdio.hgt;

#include lt;stdlib.hgt;

void say(){printf("¡mundo! "); }

void sth(){printf("Hola ");}

int main(){

return atexit(decir), atexit (algo) ;

}

5. Lee tu propio "¡Hola mundo!"

// ¡Hola mundo!

#include lt; ;

#include lt;fstreamgt;

#include lt;stringgt;

int main(){

std:: ifstream ifs(__FILE__);

std::string dice, alguna, palabra;

ifs gt;gt; dice gt;gt; alguna gt;gt;

std::cout lt;lt; algunos lt;lt; " " lt;lt; palabra

return 0; "¡Hola mundo!" con dos palabras:

Declara una instancia de una clase global. El constructor de esta clase se llamará antes de que se ejecute la función principal y el destructor se llamará después de la ejecución.

#include lt;iostreamgt;

clase decir{

público: decir(){std::cout lt;lt "Infierno";}

~say(){std::cout lt;lt; "mundo!";}

}hola;

int main(){

std::cout lt; "o ";

return 0;

}

7. Pasa en "Hola mundo" de la plantilla!"

#include lt;iostreamgt;

plantilla lt;char * palabrasgt;

clase decir{

público :

p>

operador vacío () (){std::cout lt; palabras;}

};

char hola[ ] = "¡Hola mundo!";

int main(){

return saylt; ()(),

}

8. Llamada privada "¡Hola mundo!" de la función

#include lt;iostreamgt;

#include lt;cstddefgt;

secreto de clase {

privado:

virtual void say(){std::cout lt; "¡Hola mundo!"; >

int main() {

palabra secreta;

(reinterpret_castlt; void (*)()gt; (**(intptr_t**)(amp; palabra) ))();

return 0;

}

9. Modifique directamente la dirección de retorno de la función

#include lt ; stdio.hgt;

#include lt;stdlib.hgt;

#include lt;stddef.hgt;

void say(){

puts("¡Hola mundo! ");

salir(0);

}

int main()

{

intptr_t volátil a = 0;

intptr_t volátil * p = amp;

*(p 2) = (intptr_t)decir;

*(p 3 ) = (intptr_t)say;

devuelve 0;

}

10. "¡Hola mundo!" por extraterrestres

#include lt;stdio.hgt;

void alien_say (char * p){

while (putchar (*(p = *(p 1) - *p))) ;

}

int main(){

return alien_say ("BETHO! Altec

oh liryom(a loadjudas!) dowd."), 0;

}