C программирующий осуществление из книги K&R

То, что вы хотите сделать, на данный момент не поддерживается в Google, но не в Datadog, есть и другой вариант, например, при создании политики предупреждений у вас есть возможность добавить более одного показателя в одно предупреждение, см. Ниже пример и использовать только Триггеры политики, см. ниже:

Policy Triggers

Вы можете посмотреть этот стек для более подробной информации об арифметической операции. .

7
задан Deduplicator 23 January 2015 в 11:16
поделиться

6 ответов

Корректные взгляды программы, Ваша проблема состоит в том, что необходимо отправить EOF (конец файла) командной строке после Вашего входа начиная со стандартного входа рассматривают как файл. Я думаю в терминале Linux, который можно нажать Ctrl+D для отправки EOF... Я не уверен, как сделать это в другой ОС. Для тестирования этой программы, Вы могли бы хотеть измениться EOF кому: '\n' который заставит это останавливаться, когда Вы нажмете Enter.

12
ответ дан 6 December 2019 в 05:56
поделиться

Программа продолжает считывать данные с stdin до EOF получен, это сделано путем нажатия Ctrl-D в начале строки на консоли Unix или Ctrl-Z в начале строки в консоли Windows. После передачи сигналов EOF таким образом, printf функция будет выполняться, отображая количество чтения символов.

7
ответ дан 6 December 2019 в 05:56
поделиться

Ваш nc двойное — использование printf("%lf", nc) распечатать удваивается.

Попробуйте этого вместо этого

#include <stdio.h>

int main(void)
{
    int nc;

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

    return 0;
}
6
ответ дан 6 December 2019 в 05:56
поделиться

Я хотел бы разъяснить ответы, данные до сих пор, потому что они, кажется, используют фразы как, "отправляют EOF", "получил EOF", "символ EOF", и т.д. Согласно комментариям (спасибо) к этому ответу, "отправляют EOF" и, "полученные EOF" являются законными условиями, но не думайте, что это - символ.

EOF не является символом вообще. Это - значение, которое возвращает getchar () (или fgetc/getc), если поток в "конце файла", или ошибка чтения происходит. Это - просто специальное значение вне диапазона символьных значений, которые getchar () возвратит, который указывает на условие ошибки или конца файла.

Это определяется стандартом C, как являющимся отрицательным, тогда как getchar возвращает символы как неподписанный символ, преобразованный в интервал.

Править: При проведении некоторого исследования, которое я должен был провести перед абзацем, я записал, что раньше был здесь, я понял, что некоторые мои предположения были абсолютно неправильными. Благодаря комментатору для указания на это.

После того как поток (такой как stdin) находится в условии конца файла, это условие может быть очищено снова с более ясным (), и getchar () может считать больше данных с stdin.

5
ответ дан 6 December 2019 в 05:56
поделиться

Этот код читает символы из стандартного входа. Когда Вы обычно запускаете эту программу, стандартный вход прибывает от пользователя. В этом случае нет никакого способа отправить EOF в программу.

Этот код будет работать при перенаправлении файла к стандарту в (./myprogram <tempfile.txt).

1
ответ дан 6 December 2019 в 05:56
поделиться

Во-первых, как упомянуто ранее Вам нужен %lf вместо %d для отображения двойного, иначе он просто отобразится, нуль все время (d для целого числа со знаком). Затем, если Вы хотите протестировать, это вручную на основанном на окнах типе ОС в некоторых символах нажимает Enter и затем pressl CtrlZ на следующей строке совершенно отдельно (это моделирует EOF). Печатным результатом будет еще один, чем количество символов (это включает CtrlZ). Также как SoapBox указал при поиске EOF обычно, взглядами тогда был Unix, где Вы передаете файл по каналу в программу через стандартный вход, это также работало бы.

0
ответ дан 6 December 2019 в 05:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: