01: // conversioni di assegnamento
02: #include<stdio.h>
03: #include<stdlib.h>
04: 
05: int main(int argc, char **argv){
06: 
07:   float a = -76543.99;  
08: 
09:   int          b = a;  // perdo i decimali, NON viene arrotondato
10:   short        c = a;  // risultato incoerente, uno short non puo' memorizzare un numero cosi' grande
11:   unsigned int d = a;  // risultato incoerente, d non puo' memorizzare numeri negativi
12: 
13:   printf("Quando converto %f in int ottengo          %d\n", a, b);
14:   printf("Quando converto %f in short ottengo        %d\n", a, c);
15:   printf("Quando converto %f in unsigned int ottengo %u\n", a, d);
16: 
17:   return 0;
18: }
19: 
20: /*
21: 
22:  OUTPUT
23: 
24:  Quando converto -76543.992188 in int ottengo          -76543
25:  Quando converto -76543.992188 in short ottengo        -11007
26:  Quando converto -76543.992188 in unsigned int ottengo 4294890753
27: 
28:  NOTA: il compilatore non da' warning neanche se gli dico di darmi tutti i warning possibili!
29: 
30:  */
31: 
32: 


Se avete commenti o osservaƶioni su questa pagina
mandate un messaggio di posta elettronica a bertoƶƶi@ce.unipr.it