试图计算输入的“ a”的数量

时间:2019-02-15 17:13:58

标签: character counting

每当我尝试运行以下代码来计算字符数时,我总是得到零而不是我插入的字符数。

#include <stdio.h>

void main() {

    int c;
    int count = 0;

    while ( (c = getchar() != EOF) && c == 'a' ) {
        count = count +1;
    }

        printf("Number of chara: %d", count);
    }

我将代码更改为只在出现“ a”时才计数,但在输入字符并按回车键时仍只能得到零。

2 个答案:

答案 0 :(得分:0)

当程序读取不是'a'的字符时,while循环的条件为false,从而结束while循环。由于您的程序在while循环中读取字符,因此不再读取任何字符。

在更新计数器之前而不是在循环条件下,尝试检查循环体内的字符是否为'a'。

答案 1 :(得分:0)

因为设置了c =='a',所以循环将停止。尝试在您的代码中删除它。

尝试这个:

int c;
int count = 0;

while  (c = getchar() != EOF ) {
    count = count +1;
}

    printf("Number of chara: %d", count);
}`