!= und ==
-
Hi!
Irgendwie stehe ich gerade auf dem Schlauch...
Warum funktioniert das hier nicht?int main() { char auswahl; printf("Programm beenden (J/N)? "); scanf("%s", &auswahl); }while (auswahl!='j' || auswahl!='J'); getch(); }
Jedoch das hier...
int main() { char auswahl; printf("Programm beenden (J/N)? "); scanf("%s", &auswahl); }while (auswahl=='n' || auswahl!='N'); getch(); }
MfG
-
Habe natürlich noch das "do{" vergessen, ins Beispiel zu schreiben...
-
Guest1234 schrieb:
Warum funktioniert das hier nicht?
}while (auswahl!='j' || auswahl!='J');
Weil die Bedingung immer true ist. Wenn auswahl == 'j' ist, gilt auch automatisch auswahl!='J' und umgekehrt. Sie würde erst falsch werden, wenn auswahl gleichzeitig j und J ist. Du willst dort wahrscheinlich einen && Operator verwenden.
-
Es muss
while( antwort!='j' && antwort!='J' );
heissen!
-
Pass mit Deinen Array-Grenzen auf: Du reservierst Platz für ein Zeichen, schreibst aber einen ganzen String. Klassischer Buffer-Overflow.
-
Aussderdem musst du beim einlesen eines Strings den Adressoperator nicht mit angeben!