为什么printf("None\n")不会显示出来

为什么printf("None\n")不会显示出来
党没有符合条件的直接不显示而不是输出None

{
        int y,i,j=0;
        scanf("%d",&y);
        if((y<=2000)&&(y>2100))
        {
            printf("Invalid year\n");
        }
        else
        {
            for(i=2001;i<=y;i++)
            {
                if((i%4==0)&&(i%100!=0)||(i%400==0))
                {
                    j++;
                    if(j!=0)
                    {
                        printf("%d\n",i);
                    }
                    else
                    {
                        printf("None\n");
                    }
                }
            }
        }
    }

if((y<=2000)&&(y>2100)) 改成||

if(j!=0)
{
printf("%d\n",i);
}
else
{
printf("None\n");
}
提到for外面

if((y<=2000)&&(y>2100)) 这俩能同时满足么,改成 if((y<=2000)||(y>2100))

if((y<=2000)&&(y>2100))
第一个判断这怎么满足y小于等于2000且大于2100的 应该用或 ||