Salve a tutti, la domanda è sicuramente molto banale, ma non capisco proprio perché l'esercizio non funziona... il codice che ho scritto è:
#include<stdio.h>
int main(){
char operatore;
float a,g;
scanf("%f",&a);
scanf("%f",&g);
scanf("%c", &operatore);
if(operatore=='+')printf("%f\n", a+g);
else if(operatore=='-')printf("%f\n", a-g);
else if(operatore=='%')printf("%f\n", (int) a% (int)g);
else if(operatore=='/') printf("%f\n", a/g);
return 0;
}
Il terminale esegue soltanto le prime due scanf e non quella per "operatore", assegnando alla variabile operatore lo stesso valore di g. Se invece la scanf per operatore la eseguo per prima, il "programma" funziona correttamente (ma per esigenze didattiche devo eseguirla per ultima). Non capisco perchè