Ciao ragazzi..stavo facendo un programma banalissimo in cui l'utente deve specificare il valore di due numeri e l'operazione da fare.UNa volta scelta l'operazione (es.somma) se ne visualizzi la somma (in questo caso..)

codice:
#include <stdio.h>

main()
{
    char z;
    float x,y;
    
    printf("Inserire un numero: ");
    scanf("%f", &x);
    printf("Inserire un altro numero: ");
    scanf("%f", &y);
    printf("Specificare l'operazione da fare (+, -, *, /): ");
    scanf("%c", &z);
    
        switch(z){
        case '+':
            printf("La somma e': %f", x+y);
            break;
        case '-':
            printf("La differenza e': %f", x-y);
            break;
        case '*':
            printf("Il prodotto e': %f", x*y);
            break;
        case '/':
            printf("La divisione e': %f", x/y);
            break;
        }
}
A me sembra corretto però non mi fa digitare il carattere...come se scanf %c non fungesse..
Cosa può essere?