Salve. Ho trovato un problema che non avevo mai incontrato.
Come ho scritto nel programma, senza "getchar();" prima della prossima scanf non mi fa leggere da tastiera nulla, termina il programma direttamente.
Perché succede questo? E' la prima volta che incontro un problema del genere.
Codice:
#include <stdio.h>
#include <stdlib.h>
typedef struct{
const char c;
}Char;
int cToi(char);
int main(int argc, char *argv[]){
Char a, b;
int n1, n2;
printf("%s","Inserisci un numero: ");
scanf("%c", &a.c);
n1 = cToi(a.c);
getchar(); // Senza questo non mi fa leggere un altro char
printf("%s","Inserisci un numero: ");
scanf("%c", &b.c);
n2 = cToi(b.c);
printf("Somma: %d", n1+n2);
return 0;
}
int cToi(char a){
int b = a;
return b-48;
}
Perché succede questo? E' la prima volta che incontro un problema del genere.