Ceci est ma première question, alors pardonnez-moi si je me trompe. Je suis très novice en programmation, et j'ai rencontré un problème, je n'arrive pas à trouver une solution en ligne. Lorsque j'utilise scanf
pour un entier, si mon imput commence avec un ou deux zéros, dans certains cas il le lira dans un autre système (pas même binaire). Par exemple, 0020
deviendra 16
, 0030
deviendra 24
, 0100
deviendra 64
.Scanf lit un mauvais entier quand 0 en face
Il semble fonctionner avec des pouvoirs de 8
, et examiner les chiffres jusqu'à 8
(en tapant 0009
lui fera imprimer 0
puis 9
).
Il pourrait y avoir une règle simple dont je ne suis pas au courant, je suis désolé si la réponse est évidente. Merci d'avance pour tous ceux qui répondent!
montrez-nous le code – JerryGoyal
vous devriez publier votre échantillon de code pour nous aider à comprendre – cokceken
[Cette référence 'scanf' (et la famille)] (http://fr.cppreference.com/w/c/io/fscanf) devrait soit utile. –