Dlaczego poniższy program do wypisywania liczb pierwszych z podanego przedziału błędnie działa, chociażby dla przedziału od 5 do 20? Powinien wypisywać liczby: 5, 7, 11, 13, 17, 19, natomiast wypisuje liczby: 9, 11, 13, 15, 17, 19.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int x, y, z;
printf("Podaj lewy zakres: ");
scanf("%d", &x);
printf("Podaj prawy zakres: ");
scanf("%d", &y);
printf("Liczby pierwsze w podanym zakresie to:");
for(x; x<=y/2; x++)
{
z=2*x-1;
printf(" %d, ", z);
}
return(0);
}