#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 '||' 错在哪啊郁闷死我了
456.c(7) : error C2143: syntax error : missing ';' before '||' 错在哪啊 编译器说:456.c(7) -- 错在程序456.c的 第7行error C2143 -- 错误类型C2143syntax error -- 语法错missing ';' before '||' -- 在 || 前 缺 分号。这是if(year%4==0&&year%100!=0)||(year%400==0)漏括号引起的错误if( (year%4==0&&year%100!=0)||(year%400==0))改完这行在让编译器检查。注意出错地点行号,在出行附近寻找毛病即可。
if(year%4==0&&year%100!=0)||(year%400==0)条件要加上括号:if( (year%4==0&&year%100!=0)||(year%400==0) )switch(month) 后面要加上{},有两个switch