请问一下the c programming language里这个例子为什么执行不出结果??

#include <stdio.h>
/* count characters in input; 1st version */
main()
{
long nc;
nc = 0;
while (getchar() != EOF)
++nc;
printf("%ld\n", nc);
}

while循环结束不了,用括号括起来

  while(getchar()!=EOF){
 ++n;
 printf("ld\n",n);
 }

需要用Ctrl+C来结束输入

while (getchar() != EOF) 这一行会导致死循环,EOF的值为-1,我们从键盘是无法输入这个字符的,要判断输入的个数,可以将EOF更换成'\n'试一下!

上面回答的都有问题。
程序没有问题,问题应该出在你输入文本结束符的时候,应该是最后换行再输入ctrl+z,在回车,
如:
sdhfskdhfks
^z(ctrl+z的显示)
(enter)

就能得出结果了。