Mein Code funktioniert perfekt, wenn die Eingabe direkt im Terminal ist, aber eine Endlosschleife erstellt, wenn mit Eingabeumleitung (gleichen Inhalt) verwendet.Unendlich Schleife mit Umleitung, aber läuft normal mit normalem Eingang
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;
}
Wenn Sie zeigen nicht, wie 'X' gesetzt ist, wird es schwer, Sag, warum es falsch ist. –
@StephenRauch bearbeitet :) –
Ich würde vermuten, dass die Zeilenenden Ihr Problem sind. versuche: 'if (d == '\ n' || d == '\ r' || d == EOF)' –