1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Frage zu eingabestrom

  • PWL
  • 15. Dezember 2008 um 22:19
  • Unerledigt
  • PWL
    5
    PWL
    Mitglied
    Punkte
    240
    Beiträge
    31
    • 15. Dezember 2008 um 22:19
    • #1

    hallo,

    könnte mir jmd. diese frage beantworten, wäre nett. danke

    C
    Was ist die Ausgabe des folgenden Programms bei den folgenden Eingaben. Welche Zeichen 
    verbleiben jeweils im Puffer des Eingabestroms stdin?
    - “\n    \n5\n“
    - “\n\n5- 5\n“
    - “\n5-78a \n“
    - “-5\n“
    #include <stdio.h>
    int main() {
    int x,y,z; z = scanf(“%i-%i“,&x,&y); printf(“%i“,z);
    }
  • Plantschkuh!
    24
    Plantschkuh!
    Mitglied
    Reaktionen
    163
    Punkte
    6.173
    Beiträge
    1.181
    • 15. Dezember 2008 um 23:31
    • #2
    Zitat von man scanf

    All conversions are introduced by the % (percent sign) character. [...] Before conversion begins, most conversions skip white space [...] i Matches an optionally signed integer [...] Everything else matches only itself. Scanning stops when an input character does not match such a format character. Scanning also stops when an input conversion cannot be made [...] These functions return the number of input items assigned, which can be fewer than provided for, or even zero, in the event of a matching failure.


    Ist doch gar nicht so schwer. (Aus pädagogischen Gründen stimmt die Reihenfolge der zitierten Fetzen nicht ganz, bin ich nicht nett?)

    *plantsch*

  • PWL
    5
    PWL
    Mitglied
    Punkte
    240
    Beiträge
    31
    • 15. Dezember 2008 um 23:39
    • #3

    hat eigentl. nix mit der frage zu tun...

  • Kampi
    27
    Kampi
    Mitglied
    Reaktionen
    193
    Punkte
    7.828
    Beiträge
    1.468
    • 15. Dezember 2008 um 23:48
    • #4

    hausuebung wird dir keiner machen, aber hinweise kannst du gerne haben:
    *) was ausgegeben wird kannst du dir ja einfach anzeigen lassen. lass einfach das programm laufen.
    *) was noch im stdin verbleibt kannst du dir ja auch anzeigen lassen (achtung: C-aehnlicher pseudocode)

    Code
    char rest[80];
    /* your scanf */
    fgets(rest, 80, stdin);
    for(i = 0; i < 80; i++)
       printf("ascii-code: %d\n", rest[i]);

    ansonsten: hoer auf Plantschkuh und lies die man-page.

    edit: testen am besten mit: echo -ne "tes \nt" | ./yourbin

    Willfähriges Mitglied des Fefe-Zeitbinder-Botnets und der Open Source Tea Party.

  • sonicth
    2
    sonicth
    Mitglied
    Punkte
    20
    Beiträge
    4
    • 28. Dezember 2008 um 16:24
    • #5

    ich verwende read/fread, da es besser mit beispiele, wie "\n4\n a\n-4-5 ", getestet werden kann, weil fgets nur bis "\n" (inklusive) liest

    Code
    int i, r; /* scanf and friends... */
       r = fread(rest, 1, 80, stdin);
        for (i =0; i < r; i++)
               printf("ascii-code: %d\n", rest[i]);


    -----------------

    Zitat von Kampi
    Code
    char rest[80];
    /* your scanf */
    fgets(rest, 80, stdin);
    for(i = 0; i < 80; i++)
       printf("ascii-code: %d\n", rest[i]);
  • Maximilian Rupp 27. Dezember 2024 um 00:26

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung