2016-10-06 1 views
0

Also ich möchte es so machen, dass Sie keine Zahl wie 0 oder 11 eingeben können. Ich verwende netbeans 8.1 (GNU cygwin). Ich habe festgestellt, dass die While-Schleife nicht verwendet wird, und dass das Terminal einen erfolgreichen Build unabhängig von der Schleife ausgeführt wird, um sicherzustellen, dass nicht gebundene Zahlen nicht vorhanden sind.elementare C-Ausgabe

int main(int argc, char** argv) { 
int x; 
int guess = 0; 
srand(time(NULL)); 

x = rand() % (10) + 1; 

printf("random number is %d. \n", x); 

printf("whats your guess? 3 tries. between 1 and 10 \n"); 
scanf("%d", guess); 

while (guess >10 || guess < 0){ 
    printf(" your guess is out of the bounds (1 to 10) re enter: \n"); 
    scanf("%d", guess); 
} 

return (EXIT_SUCCESS); 

}

Irgendwelche Ideen? Ich beabsichtige später mehrere Vergleiche mit 'x' zu machen.

+0

Welcher Wert wird von den 'scanf()' - Aufrufen zurückgegeben? Sie testen nicht auf Fehler. –

+8

müssen Sie ein kaufmännisches Und vor 'raten' ...' scanf ("% d", & raten); ' – yano

+0

Wenn Sie einen Debugger nicht verwenden können, könnten Sie zumindest einige print-Anweisungen hinzufügen, um zu helfen. Ich schlage vor, 'fprintf (stderr," rate =% d \ n ", rate);' an einigen Stellen hinzuzufügen. – nategoose

Antwort

1

Benötigt einfach eine & (Et-Zeichen) in der Scan-f-Anweisung.

scanf("%d", &guess); 
Verwandte Themen