問題の while ループと switch は次のとおりです (track1 は、ここには示されていないより大きなループを定義します)。
while (track6 ==1)
{
printf ("would you like to play again? Y or N?\n");
scanf ("%c", &response);
switch (response)
{
case 'Y' : track6 = 2;
break;
case 'N' : printf ("thanks for playing!\n");
track6 = 2, track1 = 2;
break;
default : printf ("response is case-sensitive and must be either Y or N. your response is invalid. please reenter.\n");
}
}
私が受け取る出力は次のとおりです。
would you like to play again? Y or N?
response is case-sensitive and must be either Y or N. your response is invalid. please reenter.
would you like to play again? Y or N?
(入力を求めてから正しく実行されます)
最初のprintfを実行し、scanfをスキップし、デフォルトを実行し、ループの先頭に戻ってそこから適切に実行しているようです。理由はありますか?これは私の 3 週間目のプログラミングなので、素人の条件は大歓迎です。