Je tente d'exécuter ce bloc de code.
#include
int main(void)
{
printf("Commencer ici\n");
int e, f, g, h;
scanf("%d,%d", &e, &f);
scanf("%d, %d", &g, &h);
printf("%d %d %d %d", e, f, g, h);
}
Lorsque je saisis 2,0
ou quelque chose qui correspond à la chaîne de format dans le premier scanf()
, le deuxième scanf()
s'exécute également.
Cependant, si je saisis quelque chose comme 2-0
dans le premier scanf()
, le programme saute le deuxième scanf()
et passe directement au printf()
Par exemple, voici l'entrée et la sortie d'une exécution d'échantillon du programme. La deuxième ligne est l'entrée.
Commencer ici
1-2
1 0 -2 -856016624u
Remarquez comment le programme a complètement sauté le deuxième scanf()
et est allé directement au printf()
. Pourquoi le deuxième scanf()
est-il sauté ici?