J'ai des problèmes avec ce code de langue C:
char st[2];
printf("enter first value:");
scanf("%c", &st[0]);
printf("enter second value:");
scanf("%c", &st[1]);
5 Réponses :
Eh bien ça fait. Le (s) caractère (s) produit (s) par la clé Entrée est déjà présent dans le tampon. P>
Je pense que votre problème est le deuxième scanf reçoit la touche "ENTER". p>
Vous obtenez la nouvelle ligne implicite que vous avez entrée comme le deuxième caractère, c'est-à-dire I.e ST [1] code> obtient la valeur '\ n' code>. Un moyen facile de résoudre ce problème consiste à inclure la nouvelle ligne de la chaîne de format attendue: scanf ("% c \ n", & st [0]); code> p> p>
Changer à ceci p> c'est une réponse vacante (aucune erreur d'erreur ou rien) mais facile et facile. < / p> p>
Utiliser fflush (stdin); code> fonction avant le deuxième scanf (); code>. Il affleurera la touche Entrée générée après le premier scanf ();
En réalité, votre deuxième scanef () prend l'entrée comme entrée et puisque Scanf se termine après avoir eu une entrée, elle ne prend rien d'autre à vos côtés. P>
Duplicaté possible: Stackoverflow .com / questions / 1669821 / ...
Ce doit être la journée pour
scanf code> questions. même problème que ceci , je pense. [] ()