@avion123678

Цикл с EOF в С?

Здравствуйте, почему при подсчете количества введенных символов, выводится количество символов умноженное на два?
EOF с клавиатуры вводится при помощи CTRL + D

Код:
#include <stdio.h>

int main() {
    double nc;

    for (nc = 0; getchar() != EOF; ++nc)
        ;
    printf("%.0f\n", nc);

    return 0;
}


Введенные значения:
1 
2
3
4
5
6
7
8

Вывод:
16
  • Вопрос задан
  • 110 просмотров
Решения вопроса 1
myjcom
@myjcom
выводится количество символов умноженное на два?

пробелы, символы перевода строки и т.д. и т.п. это тоже символы вот так и получается попробуйте так
12345678
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
CityCat4
@CityCat4
Внимание! Изменился адрес почты!
Потому что введено 16 символов :) '\n' (перевод строки) - это, еслиф че, тоже символ :)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы