Введите значение двух чисел - PullRequest
0 голосов
/ 11 июня 2019

На самом деле, я изучаю язык и написал программу

Введите значение 2 цифр, как показано ниже.

#include<stdio.h>
int main()
{
    int a, b, c;
    printf("Enter two numbers to add\n");
    scanf("%d%d", &a, &b);
    printf("Sum of the numbers = %d\n", c);
    return 0;
}

Но если я введу алфавит, я получу 1522222 числа. Вместо это я хочу, он выдает ошибку как неверный ввод, если я набираю алфавит, т.е. a, b, c.

Как я мог это сделать?

1 Ответ

6 голосов
/ 11 июня 2019

Вы можете проверить возвращаемое значение scanf.Если он успешен, он должен вернуть 2, так как вы читаете два значения.Если вы получаете что-то еще, вы знаете, что ввод неправильный.Попробуйте это:

if (scanf("%d%d", &a, &b) != 2)
    printf("Invalid input type!\n");
else 
    printf("Sum of the numbers = %d\n", a+b);

В другой заметке вы не инициализируете c где-либо, поэтому при печати это неопределенное поведение.Вам даже не нужно c для этого, вы можете просто напечатать a+b.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...