Ich soll einen kurzen C-Code schreiben, wo ich eine Zufallszahl zwischen 1 und 6 erzeuge, wenn ich "zufällig" eintippe. Wenn ich "exit" oder "quit" eintippe, muss das Programm enden. "Beenden" und "Beenden" funktionieren, aber nichts passiert, wenn ich "zufällig" eingebe.if-Anweisung mit Zeichenfolge vergleichen in C
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
printf("enter your command");
char input[100];
fgets(input, 100, stdin);
if (strcmp(input, "quit") == 0){
exit(0);
} else if (strcmp(input, "exit") == 0) {
exit(0);
} else if (strcmp(input, "random") == 0) {
srand(time(NULL));
int random_number = rand() %7;
printf("%d\n",random_number);
}
return 0;
}
Ein einfacher Schritt ein 'else {printf hinzuzufügen wäre ("Huh? Got [% s] \ n", Eingabe); } am Ende, was dir zeigen würde, was passiert ist. Außerdem funktionieren weder Ihre 'exit'- noch' quit'-Vergleiche. Das Programm wird automatisch beendet, wenn sie fehlschlagen. Sie können dies sehen, indem Sie 'printf (" Got quit [% s] \ n ", Eingabe),' vor dem 'exit (0)' für 'quit' und ähnlich für' exit' hinzufügen. Sie könnten dies auch sehen, wenn Sie den Code mit einem Debugger ausführen. –
Willkommen bei Stack Overflow - obwohl Sie schon eine Weile hier sind. Bitte beachten Sie, dass die bevorzugte Art zu sagen "Danke" hier ist durch Up-Voting gute Fragen und hilfreiche Antworten (sobald Sie genug Ruf zu tun haben), und durch die Annahme der hilfreichsten Antwort auf alle Fragen Sie fragen (Das gibt Ihnen auch einen kleinen Schub für Ihre Ruf). Bitte lesen Sie die [Über] Seite und auch [Wie stelle ich Fragen? hier?] (Http://stackoverflow.com/help/how-to-ask) und [Was mache ich, wenn jemand meine Frage beantwortet ?] (http://stackoverflow.com/help/someone-answers) –