哪位大师可以告诉我为什么这代码编译错误

#include
int main()
{
int x;
printf("Please enter the number:\n");
scanf("%d",&x);
if (x>0&&x<=9)
{
printf("%d: 0-9\n",x);
}
else if(x>=10&&x<=99)
{
printf("%d: 10-99\n",x);
}
else if(x>=100&&x<=999)
{
printf("%d: 100-999\n",x);
}
else if(x>=1000&&x<=9999);
{
printf("%d: 1000-9999\n",x);
}
else
{
printf("error!\n");
}
return 0;
}

else if(x>=1000&&x<=9999); 这一行结尾多了个分号