c语言程序错误syntax error : missing ';' before '||'

#include "stdio.h"
main()
{
int year,month,day;
printf("请输入年月:");
scanf("%d%d",&year,&month);
if(year%4==0&&year%100!=0)||(year%400==0)
{
switch(month)
case 1:case 3:case 5:case 7:case 8:case 10:case 12:printf("31day\n");break;
case 4:case 6:case 9:case 11:printf("30day\n");break;
case 2:printf("29day\n");break;
}
else
{
switch(month)
case 1:case 3:case 5:case 7:case 8:case 10:case 12:printf("31day\n");break;
case 4:case 6:case 9:case 11:printf("30day\n");break;
case 2:printf("28day\n");break;
}
}
C:\Documents and Settings\user\桌面\456.c(7) : error C2143: syntax error : missing ';' before '||' 错在哪啊
郁闷死我了
最新回答
中国移不动

2024-10-16 11:29:59

456.c(7) : error C2143: syntax error : missing ';' before '||' 错在哪啊

编译器说:
456.c(7) -- 错在程序456.c的 第7行
error C2143 -- 错误类型C2143
syntax error -- 语法错
missing ';' before '||' -- 在 || 前 缺 分号。

这是
if(year%4==0&&year%100!=0)||(year%400==0)
漏括号引起的错误
if( (year%4==0&&year%100!=0)||(year%400==0))

改完这行在让编译器检查。注意出错地点行号,在出行附近寻找毛病即可。
叫我饭桶!

2024-10-16 12:20:45

if(year%4==0&&year%100!=0)||(year%400==0)条件要加上括号:if( (year%4==0&&year%100!=0)||(year%400==0) )
switch(month) 后面要加上{},有两个switch
人心可畏

2024-10-16 11:00:16

IF语句处显然数了,编译程序都给你找到位置了啊,双击下就可以看了。。
活给自己看

2024-10-16 11:54:25

我运行了一下你的程序,貌似错误有19个...