Die folgenden Code-Snippets stammen aus einem C-Programm.Vergleichen der vom Benutzer eingegebenen Zeichen in C
Der Benutzer gibt Y oder N.
char *answer = '\0';
scanf (" %c", answer);
if (*answer == ('Y' || 'y'))
// do work
ich kann nicht herausfinden, warum diese if
Aussage nicht wahr wertet.
Ich überprüft für die y oder n Eingabe mit einem printf
und es ist da, damit ich weiß, dass ich die Benutzereingabe bekomme. Auch wenn ich die Bedingung der if-Anweisung durch 1 ersetze (was es wahr macht), wird es richtig ausgewertet.
.. oder durch den Aufruf 'malloc()' – Arun
@ArunSaha: yeah, oder es auf eine lokale char Variable zeigen. – codaddict
Warum muss ein Leerzeichen vor% c in scanf eingefügt werden? für mich funktioniert es nicht, wenn ich das Leerzeichen vor% c in scanf entferne. – hunch