为何后面的printf()不能到达,该怎么处理

为何后面的printf()不能到达#includestdio.hmain(){longncnc0while(getchar()!EOF)++ncprintf( %l

为何后面的printf()不能到达
#include   <stdio.h>

main()
{
long   nc;

nc   =   0;

while(getchar()   !=   EOF)
++nc;
printf( "%ld\n ",   nc);
//printf( "dammit\n ");
}
后面的printf()语句都到达不了,输入任何字符后回车都是没反应,咋回事?
用的是VC6.0

还有哪些C++编译器可用?

[解决办法]
CTRL+Z
[解决办法]
c++ primer这个例子按楼上这位大哥说的就可以输出OK:no more words to read: bye!
否则while()总是为真
[解决办法]
CTRL-Z
或者用文件重定向
programe <file
EOF为文件结束符
[解决办法]
windows下用ctrl-Z
linux/unix用ctrl-D

[解决办法]
没有问题,循环条件有问题。需要了解EOF的意思。
[解决办法]
eof == ctrl + z