unerwarteter Rückgabewert



  • Hallo zusammen,
    ich versuche C zu lernen und verwende dazu das Buch "C von A bis Z" von Jürgen Wolf .
    In dem Kapitel "4.1.3 Überprüfen auf das richtige Format" ist mir aufgefallen, dass das Beispiel bei falschen Werten, also keine Übereinstimmung mit dem geforderten Formatzeichen "0" zurückgegeben werden soll, bei mir jedoch "1" zurückgegeben wird. Hierbei wird mir nicht klar warum der Rückgabewert nicht, wie zu erwarten, null ist.

    `/* scanf6.c */

    #include <stdio.h>

    int main(void) {

    char a;

    int b, check;

    printf("Bitte Eingabe machen (Zeichen/Zahl): ");

    check = scanf("%c %d",&a, &b);

    printf("check = %d \n",check);

    return 0;

    }`



  • Y2K schrieb:

    ..."0" zurückgegeben werden soll, bei mir jedoch "1" zurückgegeben wird.

    liegt wohl am %c, das akzeptiert ja jedes zeichen.

    Y2K schrieb:

    ich versuche C zu lernen und verwende dazu das Buch "C von A bis Z" von Jürgen Wolf .

    ^^das buch taugt leider nix. such mal nach 'jürgen wolf' mit der forensuche hier und du wirst entsetzt sein.
    🙂



  • scanf liefert die Anzahl der erfolgreichen Konvertierungen zurück, nicht nur 0 oder 1. Das %c kann man nur durch EOF "überlisten".



  • Danke für die schnelle Antwort.
    Dann überspringe ich diesen Teil.



  • Y2K schrieb:

    Dann überspringe ich diesen Teil.

    Das buch auch


Anmelden zum Antworten