Red de conocimiento informático - Consumibles informáticos - 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. Utilice directamente printf para generar "¡Hola mundo!".

#include

#include < iostream>

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 << "¡Hola mundo!" std::endl; // Escritura de libro de texto estilo C++

return 0;}

2 "¡Hola mundo!" escrito con macro

"#" "extrae" el nombre del parámetro y lo convierte en una cadena.

#include

#define Decir(algo) pone (#algo)

int main(){

return Say(¡Hola mundo!);

}

3. "¡Hola mundo!" sacado de contexto

#include

int main(){

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

}

4. "¡Hola mundo!"

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

#include

#include

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

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

int main(){

return atexit(digamos), atexit (algo);

}

5. Lee tu propio "¡Hola mundo!"

// ¡Hola mundo!

#include < / p>

#include

#include

int main(){

std::ifstream ifs(__FILE__) ;

std::string decir, alguna, palabra;

ifs >> decir >> alguna >> palabra;

std::cout << alguna < < " " << palabra;

devuelve 0;

}

6. "¡Hola mundo!" con dos palabras

Declarar 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

clase decir{

public:say(){std::cout << "Infierno";}

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

}hola;

int main(){

std ::cout << "o ";

return 0;

}

7. Pase el "¡Hola mundo!" de la plantilla

#include

plantilla

clase decir{

público:

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

};

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

int main () {

return say()(), 0;

}

8. Llama a la función "¡Hola mundo!"

#include

#include

secreto de clase{

privado:

virtual void say(){std::cout << "¡Hola mundo!";}

};

int main(){

palabra secreta;

(reinterpret_cast(**(intptr_t**)(&word)))();

devuelve 0;

}

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

#include

#include

#include < stddef.h>

void say(){

puts("¡Hola mundo!");

exit(0);

}

int main()

{

volatile intptr_t a = 0;

volatile intptr_t * p = &a;

*(p + 2) = (intptr_t)say;

*(p + 3) = (intptr_t)say;

return 0;

}

10. "¡Hola mundo!" dicho por el extraterrestre

#include

void alien_say (char * p ){

mientras (putchar (*(p += *(p + 1) - *p)));

}

int main() {

return alien_say ("BETHO! Altec oh liryom(a loadjudas!) dowd."), 0;

}