ばかげた質問で申し訳ありません。私は少し初心者であり、次のコードが正しく機能しない理由を理解するのに苦労しています。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int j = ' ';
int check = 0;
printf("\nPlease enter A, B, or C\n");
j = getch();
while(check == 0)
{
if(j != 'A' || 'B' || 'C')
{
printf("\nInvalid entry, please enter either an A, B, or C\n");
j = getch();
}
else
{
check = 1;
}
}
}
この単純なプログラムで実行したいのは、getch()
(Yes, I need to use getch()
) を使用して A、B、または C のいずれかを取得し、while
ループを使用してエントリが実際に A、B、または C のいずれかであることを確認することだけです。ただし、プログラムを実行すると、A、B、または C を入力しても、入力が無効であるとプログラムから通知されます。誰かがここで私を助けて、私が間違っていることを教えてもらえますか?
これは、文字をASCII整数として読み取るという事実と関係があると感じていますが、これを修正する方法が本当にわかりません。