if(a == c)少一个等于号
共三个位置,已标注在注释中
#include<stdio.h>
int main(void)
{
int a,b,c,d,i;
long sum = 0;
printf_s("开始日期");
scanf_s("%d %d",&a,&b);
printf_s("结束日期");
scanf_s("%d %d",&c,&d);
if (a == c) // a=c ->a==c
sum = d - b;
if(a<c){ // a>c -> a<c
for(i=a;i<c;i++)
{
if((i == 1)||(i==3)||(i==5)||(i==7)||(i==8)||(i==10)||(i==12)) sum +=31;
else if((i==2)) sum +=28;
else if((i==4)||(i==6)||(i==9)||(i==11)) sum +=30; // if
}
sum = sum+d-b;
}
printf("%d",sum);
return 0;
}