Ich bin neu in der Sprache, also entschuldige mich, wenn ich einen dummen Fehler mache. Ich versuche, ein Mini-Spiel zu implementieren, wo Sie eine Geheimzahl durch den Computer in C. Hier erzeugte erraten ist der Code, den ich mit so weit habe kommen:Erraten Nummer Spiel in c lief in Schwierigkeiten
#include <stdlib.h>
#include <stdio.h>
#include <stdbool.h>
int main(void)
{
int c=1;
bool running = 1;
int x = rand() % 20;
printf("The secret number is between 0 and 19, take a guess\n");
int inp = getchar();
while (running) {
if (inp==x) {
printf("Correct. Total number of guesses you spent was %i. Would you like to start a new game? Y/n", c);
bool running=0;
}
else if (inp>x) {
printf("guess smaller\n");
scanf("%i", inp);
}
else if (inp<x) {
printf("guess larger\n");
scanf("%i", inp);
}
c+=1;
}
}
Nach dem Kompilieren, das Spiel lief in Schwierigkeiten:
[email protected]:~/workspace$ ./guess
The secret number is between 0 and 19, take a guess
3
guess smaller
2
Segmentation fault (core dumped)
Was ist "Segmentierungsfehler"? Und wie kann ich das beheben?
Ihr Einzug ist überall. Könnten Sie es bitte reparieren? –
Nicht Ihre unmittelbare Sorge, aber 'bool running = 0;' wird * Shadow * die Variable in einem höheren Bereich definiert. – Bathsheba
Wie würde 'int inp = getchar();' eine zweistellige Ganzzahl lesen ??? –