scanf und Eingaben
Benutzereingaben lesen
scanf und Eingaben ist eine kostenlose C Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des C Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C Academy-Kurs umfasst insgesamt 4 Lektionen.
Was scanf tut
scanf liest formatierte Eingaben, die der Benutzer eingibt. Es verwendet dieselben Bezeichner wie printf.
#include <stdio.h>
int main(void) {
int x = 0;
/* scanf("%d", &x); */
x = 5;
printf("x = %d\n", x);
return 0;
}Der Adressoperator
scanf benötigt die Adresse einer Variable, damit es den Wert dort speichern kann. Deshalb schreiben Sie &x.
#include <stdio.h>
int main(void) {
int x = 42;
int *p = &x;
printf("value via address = %d\n", *p);
return 0;
}Eine Ganzzahl einlesen
Um eine Ganzzahl einzulesen, übergeben Sie %d und die Adresse eines int.
#include <stdio.h>
int main(void) {
int n;
/* scanf("%d", &n); */
n = 7;
printf("You entered %d\n", n);
return 0;
}Eine Gleitkommazahl einlesen
Verwenden Sie zum Einlesen eines float den Bezeichner %f; für einen double verwenden Sie %lf.
#include <stdio.h>
int main(void) {
double d;
/* scanf("%lf", &d); */
d = 3.14;
printf("d = %.2f\n", d);
return 0;
}Mehrere Werte einlesen
Ein scanf-Aufruf kann mehrere durch Leerraum getrennte Werte einlesen.
#include <stdio.h>
int main(void) {
int a, b;
/* scanf("%d %d", &a, &b); */
a = 3; b = 4;
printf("sum = %d\n", a + b);
return 0;
}Ein Zeichen einlesen
Verwenden Sie %c, um ein Zeichen einzulesen. Achtung: Damit werden auch Leerzeichen und Zeilenumbrüche eingelesen.
#include <stdio.h>
int main(void) {
char c;
/* scanf(" %c", &c); */
c = 'X';
printf("char = %c\n", c);
return 0;
}Ein Wort einlesen
%s liest ein durch Leerraum begrenztes Wort in ein char-Array ein. & ist nicht erforderlich, weil ein Array-Name bereits eine Adresse darstellt.
#include <stdio.h>
int main(void) {
char word[20];
/* scanf("%s", word); */
word[0] = 'H'; word[1] = 'i'; word[2] = 0;
printf("word = %s\n", word);
return 0;
}Rückgabewert von scanf
scanf gibt zurück, wie viele Elemente erfolgreich eingelesen wurden. Prüfen Sie diesen Wert, um fehlerhafte Eingaben zu erkennen.
#include <stdio.h>
int main(void) {
int n = 5;
int read = 1; /* pretend scanf returned 1 */
if (read == 1)
printf("got %d\n", n);
return 0;
}Führende Leerzeichen überspringen
Numerische Bezeichner überspringen führenden Leerraum automatisch, %c jedoch nicht. Ein Leerzeichen vor %c behebt dieses Problem.
#include <stdio.h>
int main(void) {
char c = 'Y';
printf("Reading with \" %%c\" skips spaces\n");
printf("c = %c\n", c);
return 0;
}Eingaben validieren
Überprüfen Sie immer den Rückgabewert, bevor Sie den Daten vertrauen.
#include <stdio.h>
int main(void) {
int value = 10;
int ok = 1;
if (ok)
printf("valid: %d\n", value);
else
printf("invalid input\n");
return 0;
}Alles zusammenführen
Ein typisches Programm fordert einen Wert an, liest ihn ein und verwendet ihn anschließend.
#include <stdio.h>
int main(void) {
int age;
printf("Enter age: ");
/* scanf("%d", &age); */
age = 20;
printf("Next year you will be %d\n", age + 1);
return 0;
}Kurzer Test
Testen Sie Ihr Verständnis von scanf.
Rückblick: scanf und Eingaben
Sie haben gelernt, wie Sie Benutzereingaben einlesen.
scanfverwendet printf-ähnliche Formatangaben- Übergeben Sie
&var, damit scanf weiß, wo der Wert gespeichert werden soll - Verwenden Sie
%lffür double und%sfür Wörter - Überprüfen Sie den Rückgabewert, um die Eingabe zu validieren
- Setzen Sie vor
%cein Leerzeichen, um Leerraum zu überspringen
Häufig gestellte Fragen
Ist die Lektion „scanf und Eingaben“ kostenlos?
Ja — der vollständige Text von „scanf und Eingaben“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des C Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der C Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „scanf und Eingaben“?
Benutzereingaben lesen Du übst C Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um C Academy zu starten?
Keine Vorkenntnisse erforderlich. C Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „scanf und Eingaben“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser C Academy-Lektion Code schreiben und ausführen?
Ja. Jede C Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- printf-Formatbezeichner
- scanf und Eingaben
- Breite, Präzision, Flags
- Häufige I/O-Fallstricke