Другое > Программирование (любое)

Язык программирования С

<< < (2/5) > >>

LanuHum:
Вот первый пример:

--- Код ---
#include <stdio.h>

/* подсчет вводимых символов; 1-я версия */
main()
{
    long nc;
    nc = 0;

    while (getchar() != EOF)
        ++nc;
    printf("%ld\n", nc);
}

--- Конец кода ---
gcc -o "hellow" "hellow.c" (в каталоге: /home/leonid/C)
Сборка прошла успешно.

./hellow
Пишу в консоли:
sdfsfgdghfg
Жму Enter - ничего

Striver:

--- Цитировать ---Это что?
--- Конец цитаты ---
Вывод программы в каждой итерации цикла. Верни первый вариант программы.

По-моему, ты не понял другой момент:

--- Код ---
getchar() != EOF
--- Конец кода ---
этот самый EOF при вводе с клавиатуры случится только, если остановить программу. В винде через Ctrl-Pause, в линухе Ctrl-C.

Именно поэтому я направлял в программу текстовый файл:

--- Код ---
D:\moe\prg\98-dmc>proba02 < aaa.txt
--- Конец кода ---
В линуксе синтаксис направления ввода такой же, попробуй. В случае с файлом, EOF случится, когда файл закончится.

Striver:

--- Цитировать ---Жму Enter - ничего
--- Конец цитаты ---
Если нужно завершение цикла по Enter, замени строку

--- Код ---
getchar() != EOF
--- Конец кода ---
на

--- Код ---
getchar() != '\n'
--- Конец кода ---

LanuHum:

--- Цитата: Striver от 05 Декабрь 2015, 14:54:15 ---
--- Цитировать ---Это что?
--- Конец цитаты ---
Вывод программы в каждой итерации цикла. Верни первый вариант программы.

По-моему, ты не понял другой момент:

--- Код ---
getchar() != EOF
--- Конец кода ---
этот самый EOF при вводе с клавиатуры случится только, если остановить программу. В винде через Ctrl-Pause, в линухе Ctrl-C.

Именно поэтому я направлял в программу текстовый файл:

--- Код ---
D:\moe\prg\98-dmc>proba02 < aaa.txt
--- Конец кода ---
В линуксе синтаксис направления ввода такой же, попробуй. В случае с файлом, EOF случится, когда файл закончится.

--- Конец цитаты ---
Если я пишу asdafsdf, а затем жму Ctrl-C, то программа завершается. Где же результат подсчёта?

LanuHum:

--- Цитировать ---Именно поэтому я направлял в программу текстовый файл:
--- Конец цитаты ---
Striver, спасибо, сообразил я.
[leonid@localhost C]$ ./hellow < test.txt
5

А, что со вторым примером?

Навигация

[0] Главная страница сообщений

[#] Следующая страница

[*] Предыдущая страница

Перейти к полной версии