Я не могу понять, почему управление программой не достигает третьего printf, сразу после цикла for.Почему программа не выполняет окончательный вывод printf?
Почему не третий 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
Попробуйте добавить новую строку к последнему printf. –
это может ответить на ваш вопрос: http://stackoverflow.com/a/1716621/748875 – Simon
Из интереса: почему 'double' для nc? Неужели «int» будет более традиционным? – LeoNerd