新手请教个printf问题
最近学习K&R写的那本C语言程序设计,在练习题1-8中碰到了个pringt()函数问题,很是疑惑,请各位前辈们指教 指教!这个是练习题中的源程序,在我这里不能正常显示!只能显示输入的字符没有计数统计显示!
程序代码:
#include <stdio.h>
main()
{
int c, nb, nt, nl;
nb = 0;
nt = 0;
nl = 0;
while ((c = getchar()) != EOF){
if (c == ' ')
++nb;
if (c == '\t')
++nt;
if (c == '\n')
++nl;
}
printf("%d %d %d\n", nb, nt, nl); /* printf() 放在这里不显示nb, nt, nl
只显示输入的字符*/
}
下面这是我把printf() 写到 while 后面的花括号内才能正常显示,但都是显示两行!
程序代码:
#include <stdio.h>
main()
{
int c, nb, nt, nl;
nb = 0;
nt = 0;
nl = 0;
while ((c = getchar()) != EOF){
if (c == ' ')
++nb;
if (c == '\t')
++nt;
if (c == '\n')
++nl;
printf("%d %d %d\n", nb, nt, nl); /* printf() 放在这里显示nb, nt, nl
和输入字符都可以正常显示,只是有两行*/
}
}
请前辈们帮忙解释一下好吗?感谢!








