回 帖 发 新 帖 刷新版面

主题:codeblocks怎么统计换行符个数

程序
#include <stdio.h>

int main()
{
    int c, nb, nt, nl;
    nb = 0; /*number of blanks*/
    nt = 0; /*number of tabs*/
    nl = 0; /*number of newlines*/
    while((c=getchar())!=EOF)
        {
            if(c == ' ')
                ++nb;
            if(c == '\t')
                ++nt;
            if(c == '\n')
                ++nl;
        }
    printf("%d %d %d\n", nb, nt, nl);
    return 0;
}


这个是个统计空格、制表符和换行符个数的程序,但是执行了以后输入一串字符怎么没有打印出结果来。因为是C菜鸟,也是CB的菜鸟,所以不知道是不是程序哪不严谨还是CB设置的问题。请问,每次执行一回车就换行,怎么统计换行符啊(一编译,只有我打的字,没有输出)。而且我试了好多程序,用到'\n'的时候都输出不了。请高手帮下忙,感谢了!

回复列表 (共2个回复)

沙发

\r本来就被转义成\n\r了,换句话问你,如果不打回车,你用什么换行呢?
注意这种判断EOF的场合,windows下的EOF是ctrl+Z,想要提交执行的话,应该是输入字符串的最后,按ctrl+z再按回车

板凳


[em2]解决了,相当感谢~要学习的东西还有很多啊

我来回复

您尚未登录,请登录后再回复。点此登录或注册