Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
FORUMS C FAQs C TUTORIELS C LIVRES C COMPILATEURS C SOURCES GTK+
next up previous contents index
Next: Exercice 1 Up: Les entrées-sorties Previous: E/S formattées sur fichiers

Récréation

En illustration du printf et en guise de récréation, je propose un programme dont l'exécution imprime le source du programme. Ce n'est pas facile du tout de créer un tel programme si on exclut la version triviale consistant à faire un open sur le source, le lire et l'imprimer. Voici une solution possible que l'on trouve dans le source du compilateur GNU C :

main(){char*p="main(){char*p=%c%s%c;printf(p,34,p,34,10);}%c";printf(p,34,p,34,10);}

Une indication pour le comprendre : 34 est le code ASCII de " et 10 est le code ASCII de newline.



Bernard Cassagne
1998-12-09
Responsable bénévole de la rubrique C : Arnaud Feltz (buchs) - Contacter par EMail :
Vos questions techniques : forum d'entraide C - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.