Pai in primul rand tu accesezi elemente din afara vectorului:
for(i=2;i*i<=1100000;i++)
if(!v[i])
Acuma din cauza ca tu mai ai o zona de memorie nealocata imediat dupa v programul tau nu va accesa o zona de memoria alocata ci elemente din vectorul c . Faza e ca acest comportament nu e specificat in standarul C deci depinzand de compilator programul poate sa ruleze sau sa ia kbs 11( cum ar fi normal ) .