Запутался по поводу "while(getchar()!= '\ N')"

Я знал это getchar() просто функция получает первый символ строки, введенной пользователем, затем следующую и т. д. А если мы набрали getchar() в строке, при окончании кода, она позволяет программе ждать, пока пользователь наберет любую вещь, и не закрывает консоль при отображении информации.

почему мы используем эту строку кода?

вто время как (GetChar() ='\ п'!);

Я знал, что он читает все символы строки, пока не будет найден конец строки, затем цикл прерывается.. верно. Но почему это полезно? Что если мы не напишем эту строку кода?

while((ch=fgetc(stream))!=EOF)
{
    putchar(ch);
    cha++;
    if(ch=='\n')
    {
        lines++;
        printf("Line %i is detected\n\n",lines);
        if(lines==NEW_LINE)
        {
        lines=0;
        while (getchar!='\n'); **//Here is my question**
        }
    }
}

2 ответа

Похоже, этот код разбит на страницы.

Он читает символ из потока и использует putchar вывести его на stdout, Затем, если этот символ был символом новой строки, он увеличивает количество строк. Если это количество достигло определенной константы STOP_LINE затем счет сбрасывается и

while(getchar()!='\n');

ждет, когда пользователь нажмет Return. Затем цикл продолжается.

while(getchar()!='\n');

Читает все символы строки, пока не будет найден конец строки.

Однако для этого есть более эффективные способы (например, использование буферизованного потока или чтение больших кусков, если это возможно).

Другие вопросы по тегам