「y」または「n」が入力されるまで、プログラムにユーザーに別の文字の入力を要求し続けます。 whileループが正しく機能していません。 これまでのコードです:「y」または「n」のいずれかが入力されるまで、どのようにプログラムをループし続けますか
#include<stdlib.h>
int main(void)
{
char answer;
printf("Please enter a letter: ");
scanf("%c", &answer);
while (answer!= 'y' || answer!= 'n')
{
printf("Please enter another letter:");
scanf("%c", &answer);
}
printf("You entered either yes or no\n");
system("pause");
return 0;
}
'答え!= 'y' ||答え!= 'n'は常に真です。 – melpomene
あなたの状態の論理について少し考えてみてください。 –
また、ループ内で 'scanf'呼び出しを修正して文字を読み込む場合、書式文字列に先行スペースを追加して、前の呼び出しから入力バッファに残っている改行をスキップします。 –