Попытка подсчитать количество введенных «а» - PullRequest
0 голосов
/ 15 февраля 2019

Всякий раз, когда я пытаюсь запустить следующий код для подсчета моих символов, я постоянно получаю ноль вместо количества вставленных символов.

#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 голосов
/ 15 февраля 2019

Цикл остановится, потому что вы устанавливаете c == 'a'.Попробуйте удалить это в своем коде.

Попробуйте это:

int c;
int count = 0;

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

    printf("Number of chara: %d", count);
}`
0 голосов
/ 15 февраля 2019

Состояние вашего цикла while оценивается как ложное, когда программа читает символ, который не является символом «a», что завершает цикл while.Поскольку ваша программа читает символы в цикле while, больше символов не читается.

Попробуйте проверить, является ли символ 'a' внутри тела цикла, прежде чем обновлять счетчик, а не в состоянии цикла.

...