Почему getchar () пропускается? [Дубликат]

На этот вопрос уже есть ответ:

scanf функция getchar пропущена 2 ответа

Это мой код ниже, над которым я работал. Вывод такой:

Enter Nums: 20 4
OP: Which option was that?

Theop = getchar(); part полностью игнорируется. Зачем
Я использую gcc 4.6.2 MinGW.

#include <stdio.h>
int add(int num1, int num2) {
    return num1 + num2;
}

int subs(int num1, int num2) {
    return num1 - num2;
}

int mul(int num1, int num2) {
    return num1 * num2;
}

float div(int num1, int num2) {
    return (float)num1 / num2;
}

int main(int argc, char* argv[]) {
    int num1, num2;
    char op;
    fprintf(stdout,"Enter Nums: ");
    scanf("%d %d",&num1,&num2);
    fprintf(stdout, "OP: ");
    op = getchar();
    switch(op) {
    case '+':
        printf("%d",add(num1, num2));
        break;
    case '-':
        printf("%d", subs(num1,num2));
        break;
    case '*':
        printf("%d",mul(num1,num2));
        break;
    case '/':
        printf("%f",div(num1, num2));
        break;
    default:
        printf("Which option was that?\n");
    }
    return 0;
}

Ответы на вопрос(1)

Ваш ответ на вопрос