Verständnisrobleme

Dieses Thema im Forum "C/C++" wurde erstellt von mus, 12.03.2008.

  1. mus

    mus Grünschnabel

    Dabei seit:
    12.03.2008
    Beiträge:
    1
    Zustimmungen:
    0
    Hallo zusammen. Ich habe erst vor kurzen angefangen mit c++ zu programmieren. Ich bekamm jetzt neulich eine Aufgabe die ich lösen sollte. Ich sollte (ohne es auszuprobieren) werte aus einem programm herausfinden.

    #include <stdio.h>

    int pruefzahl(char*string)
    {
    unsigned int i=0, n=0;
    if(string[0] == '\0')
    return (0);
    while (string !='\0')
    {
    n += string[i++];
    }
    return (n/i);
    }

    void main(void)
    {
    char text[100];
    scanf("%s", text);
    printf("%i\n", pruefzahl( text ));
    }


    Bei der Eingabe 0 ist die Ausgabe 48.

    Jedoch weiß ich leider nicht warum. kann mir jemand helfen?
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 Mµ*e^13.5_?¿, 12.03.2008
    Mµ*e^13.5_?¿

    Mµ*e^13.5_?¿ Routinier

    Dabei seit:
    21.02.2006
    Beiträge:
    453
    Zustimmungen:
    0
    48 ist der ASCII-Code für das Zeichen '0'.
     
  4. #3 rdg, 12.03.2008
    Zuletzt bearbeitet: 12.03.2008
    rdg

    rdg ???

    Dabei seit:
    12.10.2006
    Beiträge:
    357
    Zustimmungen:
    0
    Ort:
    Berlin
    Hi mus,

    erstmal willkommen im Forum!!! :)

    normaler weise mögen wir es hier nicht so sehr wenn wir Aufgaben lösen sollen, welche man selbst lösen soll, denn damit geht der Sinn der Aufgabe verloren. Doch es ist dein erster Beitrag deshalb mach ich eine Ausnahme und helfe ich dir gerne!

    n += string[i++];
    hier werden die zahlen zusammen gerechnet z.B. 100-> 1+0+0.

    return (n/i);
    hiermit wird das Ergebnis mit der Länge der der Zahl geteilt un zurückgegeben,. 100->3
    1/3

    printf %s müsste den string in eine Zahl umwandeln. 0 -> 48

    so müsste es eigentlich sein.

    gruß rdg ;)
     
Thema:

Verständnisrobleme