Eingabezeilen zählen

Dieses Thema im Forum "Programmieren" wurde erstellt von htlproject, 9. Januar 2004.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. htlproject

    htlproject ROM

    Registriert seit:
    3. September 2003
    Beiträge:
    7
    Hallo Leute!

    Seit kuzem versuche ich die Programmiersprache C zu erlernen. Allerdings habe ich ein kleines Problem. Folgendes Programm zum zählen der Eingabezeilen funktioniert nicht:

    main()
    {
    int c,nl;

    nl = 0;
    while ((c = getchar()) != EOF)
    if (c == '\n')
    ++nl;
    printf("%d\n", nl);
    }

    Ich konnte herausfinden, dass EOF eigentlich als -1 definert ist. EOF liefert bei mir allerdings den Wert 10. In einem meiner Bücher steht hingegen, dass der Zeilentrenner (\n) 10 in ASCII entspricht.
    Kann es daran liegen, dass ich Windows XP verwende und dieses bei EOF und beim Zeilenumbruch andere Werte liefert?
    Wer kann mir helfen?? :confused:

    Grüße
    htlproject
     
  2. Robert_Craven

    Robert_Craven ROM

    Registriert seit:
    10. Januar 2004
    Beiträge:
    5
    Also inner Konsole so wie du es hier hast funzt es doch (unter WinXP) und ob EOF = -1 ist hättest du ja auch selber rausfinden können indem du es dir einfach mal ausgeben lässt :confused:
    z.B. printf("%d\n", EOF);
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen