Hier ist mein Code vergleichen:die Funktion strcmp Mit Hilfe eines Zeigers und einen String
printf("Please input a command\n");
char *input;
input = malloc(sizeof(char) * 50);
if(fgets(input, 50, stdin) != NULL) {
if(strcmp(input, "end\0") == 0) {
printf("END");
}
}
Aus irgendeinem Grund, wenn ich Eingabe ‚Ende‘, ist es nicht „END“ kann nicht gedruckt werden. Was ist das Problem, das den Schleifenzustand verursacht? strcmp(input, "end\0") == 0
Sollte 0 zurückgegeben werden, wenn der Eingabezeiger gleich "end\0"
ist? Ich habe auch versucht strcmp(input, "end") == 0
und dies funktioniert auch nicht. Wie kann ich das beheben?
Das hat funktioniert! Vielen Dank für die schnelle Antwort – andydydyy
BTW: In '" end \ 0 "', '\ 0'hat keine Bedeutung in Ihrem Programm. –
Anzähliges Duplikat. Bitte versuchen Sie es nächstes Mal mit Google. –