Numeros primos en C

#include <stdio.h>
int main()
{
//Declaramos las variables
int num, i, resto, esprimo;
//Leemos el número por teclado
printf("Introduzca un número: ");
scanf("%d", &num);
    //Para comprobar si es primo, dividimos por
//los números menores que él y mayores
//que 1. Si el resto es 0, es que no es primo
//Inicializo i con el valor del número menos 1
i=num-1;
//Inicializo esprimo a 1 (suponemos que es primo)
esprimo=1;
while(i>1)
{
//Me quedo con el resto
resto=num%i;
//Actualizo el contador
i--;
if (resto==0)
{
//Si el resto es 0, no es primo
esprimo=0;
}
}
if(esprimo==0)
printf("\nEl número %d no es primo\n", num);
else
printf("\nEl número %d sí es primo\n", num);
return 0;
}