Comment utiliser getchar() dans une boucle? Maintenant, j'ai ...C - getchar() dans une boucle?
for (p=0; p<n_players; p++) {
...
fflush(stdin);
getchar();
}
Mais cela ne fonctionne pas ... si n_players est 3, il exécute getchar 2 fois seulement à la fin ...
for (p=0; p<n_players; p++) {
blank_start();
ascii_art_title();
printf("%s, tocca a te...\n",player_info[p].player_name);
srand(time(NULL));
random_speed = MIN_WHEEL_SPEED + rand()%MAX_WHEEL_SPEED;
move_wheel_pointer(random_speed, &pointer);
if (player_points(&wheel[pointer]) == 0){
player_info[p].points = wheel[pointer];
}
else {
player_info[p].points = 0;
}
printf("\nGuadagni %d punti...\n",player_info[p].points);
if (p<(n_players-1)) {
printf("\nOra tocca a te, giocatore %d\n",(p+2));
}
fflush(stdin);
getchar();
}
getchar saute le premier boucle
échangez les appels fflush (stdin) et getchar(). Oui, fflush (stdin) est techniquement indéfini, mais il fait la bonne chose à la fois dans ms-cl et gcc –
ne fonctionne pas :( – genesisxyz
Qu'est-ce qui ne fonctionne pas? Quel comportement voyez-vous et qu'attendez-vous? en gardant à l'esprit que getchar() ne traitera rien tant que vous n'aurez pas appuyé sur la touche Entrée Si n_players a 3, la boucle sera exécutée 2 fois – nos