0Pricing
C Academy · Lektion

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.

  • scanf verwendet printf-ähnliche Formatangaben
  • Übergeben Sie &var, damit scanf weiß, wo der Wert gespeichert werden soll
  • Verwenden Sie %lf für double und %s für Wörter
  • Überprüfen Sie den Rückgabewert, um die Eingabe zu validieren
  • Setzen Sie vor %c ein 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

  1. printf-Formatbezeichner
  2. scanf und Eingaben
  3. Breite, Präzision, Flags
  4. Häufige I/O-Fallstricke
← Zurück zu C Academy