Actuellement je suis un cours pour apprendre le langage C.

Le problème qui se pose à moi c'est que pour un exercice dont j'avais trouvé la même solution que dans l'exercice mais cela ne fonctionne pas.
écrivez un programme qui lit la date du clavier et écrit les données ainsi que le nombre de données correctement reçues sur l'écran.
Exemple:
Introduisez la date (jour mois année): 11 11 1991

données reçues : 3
jour : 11
mois : 11
année : 1991
Voici ce que j'ai fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
 
int main()
{
    int recu, jour, mois, annee;
 
    printf("Entrez une date séparée par un espace (ex.: 20 05 1999) : ");
    recu = scanf("%i %i %i", &jour, &mois, &annee);
    printf("Nombre de données reçues : %i\n", recu);
    printf("Jour : %i\nMois : %i\nAnnée : %i", jour, mois, annee);
 
    return (0);
}
Et la solution de l'exercice :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
#include <stdio.h>
main()
{
    int JOUR, MOIS, ANNEE, RECU;
    printf("Introduisez la date (JOUR, MOIS, ANNéE) : ");
    RECU=scanf("%i %i %i", &JOUR, &MOIS, &ANNEE);
    printf("\ndonnées reçues : %i\njour  : %i\nmois  : 
                 %i\nannee : %i\n", RECU, JOUR, MOIS, ANNEE);
    return 0;
}
Mais le résultat donné n'est pas celui souhaité, les variables mois et annee lisent le premier et le 2ème chiffre de mois.

EDIT : Je viens de découvrir que le réel problème viens du fait que le programme fonctionne correctement mais dès que l'on met un 0 dans le mois le programme bug