1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Frage zu eingabestrom

  • PWL
  • 15. Dezember 2008 um 22:19
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • PWL
    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!
    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?)

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

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

  • Kampi
    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

  • sonicth
    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.

  1. Datenschutzerklärung
  2. Impressum