新手请教个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 和输入字符都可以正常显示,只是有两行*/ } }
请前辈们帮忙解释一下好吗?感谢!