C语言中输入一个日期计算他多久国年


#include<stdio.h>
int main()
{
    int y=0,d=0,m=0,sum=0,l=0,s=0;
    scanf("%d%d%d",&y,&m,&s);
    switch(m)
    {
        case 1:d=365;break; 
        case 2:d=334;break; 
        case 3:d=306;break; 
        case 4:d=275;break; 
        case 5:d=245;break; 
        case 6:d=214;break; 
        case 7:d=184;break; 
        case 8:d=153;break; 
        case 9:d=122;break; 
        case 10:d=92;break; 
        case 11:d=61;break; 
        case 12:d=31;break; 
        default:break;
    }
    if (y%400==0||(y%4==0&&y%100!=0))
    {
        l=1;
    }
    else
    {
        l=0;
     } 
    if(l==1&&m<2)
    {
        d++;
    }
    printf("%d",d=d-s);
    
}

这个为啥出错?

少加了等于号

计算他多久国年?啥意思?