[Error] expected primary-expression before '||' token怎么解决


#include<stdio.h>
int main()
{
int year,month,day,x,y;
printf("请输入年月日");
scanf("%d%d%d",&year,&month,&day);
if(1<=day<=31)
{switch(month)
    {case 1:x=day;break;
    case2:x=31+day;break;
    case 3:x=31+28+day;break;
    case 4:x=31+28+31+day;break;
    case 5:x=31+28+31+30+day;break;
    case 6:x=31+28+31+30+31+day;break;
    case 7:x=31+28+31+30+31+30+day;break;
    case 8:x=31+28+31+30+31+30+31+day;break;
    case 9:x=31+28+31+30+31+30+31+31+day;break;
    case 10:x=31+28+31+30+31+30+31+31+30+day;break;
    case 11:x=31+28+31+30+31+30+31+31+30+31+day;break;
    case 12:x=31+28+31+30+31+30+31+31+30+31+30+day;break;
    drefult:printf("日期错误");
}
 }
else 
{printf("日期错误"); }
if (year%4==0&&year%100!=0)||(year%4==0&&year%100==0&&year%400==0)
{
if(month>2),y=x+1,printf("闰年,第%d天",y);
else y=x,printf("闰年,第%d天",y);
}
else 
y=x,printf("不为闰年,第%d天",y);
return 0;
}

```函数省略错误,点击主函数不能全部省略;if (year%4==0&&year%100!=0)||(year%4==0&&year%100==0&&year%400==0)于else配对错误

还有这里要改一下 是分号不是逗号
if ((year%4==0&&year%100!=0)||(year%4==0&&year%100==0&&year%400==0))
{
if(month>2){
y=x+1;printf("闰年,第%d天",y);}
else{
y=x;printf("闰年,第%d天",y);}
}
else {
y=x;printf("不为闰年,第%d天",y);}

if (year%4==0&&year%100!=0)||(year%4==0&&year%100==0&&year%400==0)
//少了一层括号
if ((year%4==0&&year%100!=0)||(year%4==0&&year%100==0&&year%400==0))

感谢两位,搞定了