我不明白爲什麼程序控制沒有達到第三個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
出於興趣:爲什麼'雙'爲NC?當然'int'會更傳統? – LeoNerd