Résultat est toujours egale à 1

Bonjour,
j'ai fait ce programme mais je trouve toujours un résultat qui est égale à 1 j'ai pas su quelle est ma faute aidez moi svp

#include <stdio.h>
#include <stdlib.h>

int main()
{
  int entier , factoriel;
  printf("donner l'entier");
  scanf("%d",&entier);
  {if (entier= 0)
  factoriel=1 ;
  else
    factoriel=pow(entier,entier);}
    printf("factoriel egale :%d",factoriel);
    return 0;


1 réponse