C-programmieren nur zahlen zulassen alles andere fehlerausgabe ?

1 Antwort

Scanf() gibt nur die Anzahl der erwartenden Parameter als Zahl zurück, wenn alles gut gelaufen ist.

D.h. scanf("%d %d", &i, &s) gibt nur 2 zurück, wenn alles glatt gelaufen ist.

Dementsprechend hat bei dir der Benutzer nur das richtige eingegeben wenn scanf() 1 zurückgibt. Hier ein kurzes Beispiel:

if(scanf("%i",&Zahl)==1){ 
  ...
}else{
  printf("Fehler bei der Eingabe!");
}

BlackSeaStorm 
Beitragsersteller
 05.01.2018, 18:06

irgendwie funktioniert das nicht. kann ich irgendwie nicht sagen if(eine Zahl) dann alles gut else(alles ausser eine zahl) fehlerausgabe

0