帮我分析一下这段小代码错在哪里

来源:百度知道 编辑:UC知道 时间:2024/06/30 07:57:46
这是我自己编的计算某年某月某日是星期几的小程序

#include <stdio.h>
int yearsdays (int);//*计算年数有多少天的函数*//
int monthsdays (int,int);//*计算月份有多少天的函数*//
main()
{
int a,b,c,f;
printf("Enter Date:YY,mm,dd");
scanf("%a%b%c",&a,&b,&c);
if((b<1)||(b>=13)||(c<1)||(c>31)||(c<1))
//*这里是计算输入是否正确*//
printf("Worng input!");
else
{printf("Right inputs,loading...");

if((a<1)&&(b<1)&&(c<=7))
{
switch(c)
{case 1:printf("星期1");break;
case 2:printf("星期2");break;
case 3:printf("星期3");break;
case 4:printf("星期4");break;
case 5:printf("星期5");break;
case 6:printf("星期6");break;
case 7:printf("星期日");break;}
};
//*为什么这里系统提示我下面这个else没有IF匹配?去掉上面的分号之后错误又消失了,为什么?*//
else
{f=(yearsdays(a)+monthsdays(a,b)+c)%7;};

你写的那个注释上面多了个分号:

}; <--这里
//*为什么这里系统提示我下面这个else没有IF匹配?去掉上面的分号之后错误又消失了,为什么?*//
else

ps,以后请去c/c++区提问

你编写代码的风格很值得批评!还有你参数乱用!

这里是 VB专区 你在这里问C 真是....

朋友,换断VB代码好么?