试图计算输入的'a'的数量

问题描述 投票:0回答:2

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

#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'出现时计数,但在我输入我的字符并点击返回键时仍然只有零。

character counting
2个回答
0
投票

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

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


0
投票

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

试试这个:

int c;
int count = 0;

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

    printf("Number of chara: %d", count);
}`
© www.soinside.com 2019 - 2024. All rights reserved.