C - getchar()在循环中?

gen*_*xyz 0 c stdin loops getchar

我如何在循环中使用getchar()?我现在有...

for (p=0; p<n_players; p++) {
    ...
    fflush(stdin);
    getchar();
}
Run Code Online (Sandbox Code Playgroud)

但它不起作用......如果n_players为3,它只在最后执行getchar 2次...

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();
}
Run Code Online (Sandbox Code Playgroud)

getchar跳过第一个循环

小智 7

首先,刷新输入流的结果是不确定的.其次,"不起作用"并没有给我们带来很多东西.