Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

Vous n'avez pas encore de compte Developpez.com ? L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Developpez.com

C

Choisissez la catégorie, puis la rubrique :

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
Contacter le responsable de la rubrique C

Partenaire : Hébergement Web