désolé, je vois le message tardivement (et la question risque de ne pas être assez claire pour que je puisse vraiment y répondre), mais quelques éléments de réponse ou au moins des pistes de résolution (quand même) :
- le code en C fonctionne (il me semble), est-ce qu'il y a un bug aussi quand le code exécuté est en C ?
- sinon, est-ce que la traduction du code C est vraiment correcte ? (ligne à ligne)
- que ce passe-t-il avec gdb ?
- par ailleurs, juste un commentaire : c'est mieux de discuter de code/bug devant un ordi (en salle de tp, par ex.) ; par forum, avec des morceaux de code, c'est parfois un peu compliqué, mais on peut y arriver si on a un peu de chance ; sans ordi, ni code, ni même de détail sur le problème, c'est plus dure...