come mai se faccio:
scanf("%f", ciao);
e la variabile "ciao" e' un double non funziona (seppur i double siano floating point?) Cioe' funziona ma ritorna 0.0?
ciao
come mai se faccio:
scanf("%f", ciao);
e la variabile "ciao" e' un double non funziona (seppur i double siano floating point?) Cioe' funziona ma ritorna 0.0?
ciao
scanf("%lf", &ciao);
per i double si usa in scanf lf mentre in printf f
Altra domanda:
come faccio a sapere di che tipo è una variabile?
Cosa intendi ?
c'è qualcosa tipo isInt(), isChar() in altri linguaggi
cioe', vorrei sapere se c'è qualche funzione che in base al tipo di variabile restituisce true o false
ah se mi e' consentito vorrei sapere se la conversione da char/stringa (es: 'adds') a double dà solo 0.0 (es: (double)var )
Disolito il programma lo scrivi tu...
Quindi sai il tipo di ogni variabile !
va bene...
ma se ad esempio uso scanf() con un float, e uno mi scrive 'affesddsd', come gestisco l'eccezione?
Io non conosco nessuna funzione...
Ma...
Potresi fare tu una funzione che in base al peso della variabile
ritorni es. 1 se int , 2 se char, 3 se float ecc...
es:
peso = sizeof (variabile);
switch (peso) {
case 1: printf ("Char");
return 2;
case 4: printf ("Int");
return 1;
...
}
Pero nel caso in cui uno inserisca in un float thei char non so' come si comporta il sistema operativo...
Perche' dovrebbe essere l'OS che gestisce queste cose
Va bene....
Altra domanda :
c'è qualcosa in C tipo le label e goto del pascal?