User input doesn't work when inputs are on same line in C

Asking user for age and gpa works fine for decimal and float format. But it doesn't work for grade and doesn't give the user any chance to input their data.


#include <stdio.h>
#include <stdlib.h>

int main(){

        printf("Enter your age: ");

        scanf("%d", &age);

        printf("You are %d years old\n", age);


        double gpa;

        printf("Enter your gpa: ");

        scanf("%lf", &gpa);

        printf("Your gpa is %f\n", gpa);


        char grade;

        printf("Enter your grade: ");

        scanf("%c",&grade);

        printf("Your grade is %c", grade);


        return 0;

}