Comprobar si un número es primo con For 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
 if (num>0)
 {
        //Inicializo esprimo a 1 (suponemos que es primo)
  esprimo=1;
  //Divido entre todos los núms desde num-1 hasta 2
  for(i=num-1;i>1;i--)
  {
   //Me quedo con el resto
   resto=num%i;
   if (resto==0)
   {
    //Si el resto es 0, no es primo
    esprimo=0;
    i=0; //No hace falta seguir mirando
   }
  }//fin del for  
  if(esprimo==0)
         printf("\nEl número %d no es primo\n", num);
  else 
         printf("\nEl número %d  es primo\n", num);
  
 }//fin del if(num>0)
 else
 {
  printf("El número ha de ser mayor que 0");
 }
 return 0;

}// fin del main