Почему программа не выполняет окончательный оператор printf?

Я не могу понять, почему управление программой не достигает третьего printf, сразу после цикла for.

Почему не выиграл третийprintf Распечатать?

Если я изменю цикл for на цикл while, он все равно не будет печататься.

Вот программа и вывод:

main()
{
    double nc;

    printf ("Why does this work, nc = %f\n", nc);
    for (nc = 0; getchar() != EOF; ++nc)
    {
        printf ("%.0f\n", nc);
    }
    printf ("Why does this work, nc = %f", nc);
}

Выход:

Why does this work, nc = 0.000000
test
0
1
2
3
4

Ответы на вопрос(2)

Ваш ответ на вопрос