嗨,伙计们,我刚刚用C语言用记事本++和Cygwin写了一个小程序所以代码如下:

#include <stdio.h>

int main()
{
        int c, i, countLetters, countWords;
        int arr[30];

        countLetters = countWords = 0;
        for(i = 0; i < 30; ++i)
            arr[i] = 0;

        while(c = getchar() != EOF)
                if(c >= '0' && c <= '9')
                    ++arr[c - '0'];

                else if (c == ' ' || c == '\n' || c == '\t')
                    ++countWords;

                else
                    ++countLetters;

        printf("countWords = %d, countLetters = %d\n",
        countWords, countLetters );
}

但程序不计算单词数,而是将单词数为字母,并将其打印为字母和单词=0我错在哪里,因为连我的老师都不能给我答案。。。

最佳答案

尝试使用花括号,而c = getchar()需要括号。

while((c = getchar()) != EOF) {
      ^             ^
     /* Stuff. */
}

关于c - C程序的错误输出没有错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7268228/

10-12 15:03