0
入力が端末に直接入力されているときは完全に機能しますが、入力リダイレクト(同じ内容)で使用すると無限ループが作成されます。リダイレクト付きの無限ループですが、通常の入力では正常に動作します
int main()
{
int c,d;
int x=1;
while(x)
{
c=getchar();
if((c>='A')&&(c<='J'))
{
d=getchar();
if(d=='\n'||d==EOF)
{
if(c=='A')
x=0;
}
}
if(x)
{
printf("Invalid Input\n");//this keeps repeatingn
}
}
return 0;
}
をチェックする必要がありますそれが間違っている理由を言う。 –
@StephenRauch編集: –
私は行末があなたの問題だと思うでしょう。 try: 'if(d == '\ n' || d == '\ r' || d == EOF)' –