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 #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 } 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 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> *(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; }