01: // conversioni esplicite
02: #include<stdio.h>
03: #include<stdlib.h>
04:
05: int main(int argc, char **argv){
06:
07: int a = 42, b = 17;
08: float ris;
09:
10: ris = (a/b); // a e b entrambi int -> nessuna conversione implicita, quindi divisione intera
11: printf("42/17 = %f\n", ris); // stampo 2.000000
12:
13: ris = (float)(a/b); // come sopra ma dopo (e solo dopo) converto il risultato in float. Inutile, il calcolo lo avevo gia' fatto
14: printf("42/17 = %f\n", ris); // stampo 2.000000
15:
16: ris = a/(float)b; // prima di usarlo converto il valore di b in float. Automaticamente anche il valore di a e' convertito in float
17: printf("42/17 = %f\n", ris); // stampo 2.47058
18:
19: ris = (float)a/(float)b; // in questo caso converto entrambi i valori. A rigore non necessario.
20: printf("42/17 = %f\n", ris); // stampo 2.47058
21:
22:
23: return 0;
24: }
25:
26: /*
27: OUTPUT
28:
29: 42/17 = 2.000000
30: 42/17 = 2.000000
31: 42/17 = 2.470588
32: 42/17 = 2.470588
33:
34: */
35:
36:
37:
Se avete commenti o osservazioni su questa pagina
mandate un messaggio di posta elettronica a bertoƶƶi@ce.unipr.it
mandate un messaggio di posta elettronica a bertoƶƶi@ce.unipr.it