Por otro lado, veo un pequeño problema en la parte de la presentación, por lo menos usa paréntesis para que quede más claro todo, en lugar de:
Código:
for(j = 2; is_prime == 1 && j*j <= numero_a_comprobar; j++)
Código:
for(j = 2; (is_prime == 1) && (j*j <= numero_a_comprobar); j++)
Luego, siempre me ha hecho gracia usar los operadores "==" y "!=" fuera de un if o for, sin embargo hay que reconocer que es poco comprensible, y al final se supone que perseguimos la legibilidad del código. Si usaras
Código:
if(numero_a_comprobar % j != 0)
is_prime = 1;
else
is_prime = 0;
De todas formas, yo creo que puede hacerse más simple sin perder eficiencia.