while((player1chip==-1)||(player2chip==-1)||(player3chip==-1)){
player1chip=-1; player2chip=-1; player3chip=-1;
printf("How many chips would you like to play with (3-10):\n");
scanf("%d%d%d", &player1chip, &player2chip, &player3chip);
getchar();
}
我想一次獲得3個值,但循環似乎已經運行了3次... 我應該怎麼做?如何在while循環中掃描多個輸入?
循環應該執行一次並提示你三個輸入,如果你所有的輸入都不是-1,那麼它應該退出。你看到什麼行爲? – Jay
「我想一次獲得3個值,但循環似乎已經運行了3次」。這聽起來像是你只想得到3個值1次?你能多解釋一下嗎? – Nocturno
請注意,'scanf()'只有在讀取了三個整數(不一定全部在同一行)或直到它失敗(例如因爲遇到字母字符)之後纔會返回。你應該檢查你從'scanf()'返回3;如果你有另一個價值,那就是一個問題。 'getchar()'將讀取'scanf()'留下的任何字符(例如換行符)。 –