/*
I primi tre non ciclano all'infinito. Il quarto si'.
Il secondo e il terzo non ciclano all'infinito poiche' la variabile i ad un certo punto 
andra' in overflow e quindi il suo valore diventa negativo facendo fermare il for. 
Il terzo for si ferma molto prima del secondo perche' una variabile short va prima 
in overflow di una variabile int. 
L'ultimo for non e' controllato da un'espressione che coinvolge una variabile e 
quindi cicla all'infinito.
Per esempio un programma che prova il secondo for e':
*/

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
   clock_t inizio, fine;
   double diff;
   int i;
   
   inizio = clock();
    
   for (i = 100 ; i > 0 ; i++);
   
   printf("Valore di i %d\n", i); // quanto vale i quando e' in overflow?
   
    
   fine = clock();
   diff = (double) (fine - inizio)/CLOCKS_PER_SEC;
   printf("Tempo passato: \t%.3f secondi",diff);
   fflush(stdin);
   getchar();
   return 0;
}