- 461
- 24
- CPU
- Ryzen 9 3900x
- Scheda Madre
- ASUS H170-Pro
- RAM
- Corsair Vengeance LPX 2x8 GB
- GPU
- ZOTAC RTX 3070 TWIN EDGE OC
- Monitor
- Philips Gaming Monitor 24"
- PSU
- Corsair CX450M
- Case
- Sharkoon VS4-V
- OS
- Windows 11 Pro
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;
}
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.