![]() |
[C] Eingabeüberprüfung funktioniert nicht
Moin,
ich bin gerade dabei etwas C zu üben. Das Übungsbeispiel an sich hab ich schon, jedoch fehlt mir eine funktionierende Eingabeüberprüfung. Ich habs so gemacht Code:
MfG |
In deinem "ok" wird nicht die Eingabe gespeichert, es macht also keinen Sinn dies zu überprüfen.
So wird ein Schuh draus: Code:
int ok; |
Danke.
So funktionierts |
Hey PwN0GrPhy,
kleiner Tipp am Rande: Wenn du umfangreicher mit C programmieren möchtest, solltest du - vor allem aus Sicherheitsgründen - mit der Benutzung der Funktion scanf aufpassen. Du kannst zum Beispiel eine andere Funktion wie fgets() benutzen oder die im folgenden Artikel benutze Methode zur Absicherung anwenden: [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...] |
Er kann auch einfach "scanf_s" benutzen.
|
Naja, aber das Umformatieren in eine Zahle bleibt ihn ja trotzdem nicht erspart ... fgets() macht bei reinen Strings Sinn ... aber wenn ich will dass der Nutzer eine Zahl eingibt eher nicht ...
man sollte aber scanf() nicht verwenden ohne den Rückgabewert zu überprüfen ... scanf() gibt immer die Anzahl der korrekt gelesenen und formatierten Elemente/Argumente zurück. Edit: scanf_s() gibts aber nur beim MSVC ... und ist somit für Platformunabhängige Programme eher nutzlos und nicht zu empfehlen ... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:33 Uhr. |
Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.