J'ai essayé de lancer le programme suivant:scanf est sauté dans C
int main(){
char a;
char b;
char c;
printf("\nenter a: ");
scanf("%c", &a);
printf("\nenter b: ");
scanf("%c", &b);
printf("\nenter c: ");
scanf("%c", &c);
return 0;
}
sur l'exécution du programme, il vous invite à entrer une valeur pour un. Une fois cela fait, vous êtes invité à entrer une valeur pour b, mais vous n'êtes pas autorisé à entrer une valeur car le programme ignore l'analyse et vous invite à entrer une valeur pour c qui n'est pas ignorée. Je peux initialiser a et c, mais pas b. et je n'ai aucune idée pourquoi. J'ai lu quelque part que l'utilisation de% [^ \ n] dans le scanf, mais j'ai essayé de l'utiliser et je ne pense pas que je l'ai utilisé correctement, car il ne fonctionnait toujours pas.
c'est la sortie (avec quelques exemples d'entrée):
enter a: 1
enter b:
enter c: 1
process returned 0 (0x0)