请问这个程序有什么问题?


#include<stdio.h>
void main()
{
    int c, nb, nt, nl;

    nb = nt = 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);
}

单引号括起来的空格字符里有两个空格,删掉其中一个

变量C应该声明为Char型!

1.int main(void){...return 0;} 格式问题
2.最好使用char c;(影响不大)
3.键盘上无法输入EOF宏,EOF本质是-1,宏定义的代码为#define EOF (-1)

char c

可以加个break();