Programa que calcula si un año es bisiesto en C

/*Escribir un programa que determine si un año es bisiesto
Un año es bisiesto si es multiplo de 4(por ejemplo 1984).Sin embargo los años multiplos de 100 solo son 
bisiestos cuando a la vex son múltiplos de 400(E.j. 1800 No , 2000, Si

*/

#include <stdio.h>

int bisiesto(int x){

  int esbisiesto = 0;
  
  if (x%400 == 0) 
    esbisiesto = 1;
  else if (x%100==0)
    esbisiesto = 0;
  else if  (x%4==0)
    esbisiesto = 1;

  return esbisiesto;
}

int main(int argc,char *argv[]){

  int x;
  printf("Introducir año (Ej. 1943,2012) \n");
  scanf(" %d",&x);

  if (bisiesto(x))
    printf("%d es bisiesto \n",x);
  else
    printf("%d no es un año bisiesto\n",x);

  return 0;
}