символ чтения для scanf, когда предполагается, что это int - PullRequest
0 голосов
/ 28 мая 2020

Я использую scanf для чтения в int, однако я создаю ошибку, если кто-то помещает что-то, кроме int. Я заметил, что если я ввожу символ для scanf ("% d",% number);, он сохраняет его как 0. Я бы хотел, чтобы 0 был вариантом. Как мне избежать этой проблемы?

тестовый код будет int number; scanf ("% d", & число); printf ("% d", число);

1 Ответ

1 голос
/ 28 мая 2020

Попробуйте этот метод, чтобы узнать, было ли введено число %d:

#include <stdio.h>

int main(void) {
    int number;

    if (scanf("%d", &number))
        printf("A number!\n");
    else
        printf("Not a number!\n");

    return 0;
}
...