/* 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; }