我的简单字符计数器不起作用(getchar()的问题)

时间:2017-02-04 21:46:01

标签: c file-io counting getchar

我在ANSI C中编写一个程序,通过文件输入重定向读入input.txt,计算所述.txt文件中每个字母出现的次数,然后将结果输出到output.txt。 我现在的代码就是:

//
//  Project 2 p2.c
//  
//
//  Created by Richard Angal on 2/4/17.
//
//

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

int main(int argc, char *argv[]) {


    int alphabet[26] = {0};
    int c, i;

    while (EOF != (c = getchar())) {

        printf ("%d", c);
        alphabet[(tolower(c) - 'a')]++;

    }

    for (i = 0; i < 26; i++) {
        printf("'%c' has %d occurrences.\n", i + 'a', alphabet[i]);
    }
}

我的input.txt文件包含&#34; hello world&#34;但没有引号。

我遇到的问题是,当我检查output.txt时,它告诉我,对于每个字母,都有0次出现。

问题是,我已经做了多个print语句来检查错误,包括在while语句体中放入一个计数,它只递增一次。

感谢任何帮助

0 个答案:

没有答案