这个源代码为什么不能实现这个功能?
# include <stdio.h>
struct date
{
int year;
int month;
int day;
};
int year(struct date a)
{
printf("请输入年份:");
scanf("%d",&a.year);
if (a.year<1000&&a.year>10000)
printf("日期输入无效,请重新输入\n");
scanf("%d",a.year);
return a.year;
}
int month(struct date a)
{
printf("请输入月份:");
scanf("%d",&a.month);
if (a.month<0&&a.month>12)
printf("月份输入无效,请重新输入:");
scanf("%d",&a.month);
return a.month;
}
int day(struct date a)
{
printf("请输入日期:");
scanf("%d",&a.day);
switch (a.month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
if (a.day>0&&a.day<=31)
a.day=a.day+1;
else
printf("日期输入无效,请重新输入");
scanf("%d",&a.day);
if (a.day=31)
a.month=a.month+1;
a.day=1;
return a.month;
return a.day;
break;
case 4:
case 6:
case 9:
case 11:
if (a.day>0 && a.day<=30)
a.day=a.day+1;
else
printf("日期输入无效,请重新输入");
scanf("%d",a.day);
if (a.day=30)
a.month=a.month+1;
a.day=1;
return a.month;
return a.day;
break;
case 2:
if (a.day=28)
a.day=a.day+1;
else
printf("日期输入无效,请重新输入");
scanf("%d",a.day);
return a.day;
break;
}
}
void main()
{
struct date a;
int year();
int month();
int day();
printf("%d年-%d月-%d日", a.year,a.month,a.day);
}
//这个程序是为实现输入年月日后,显示出的年月日是日期+1,请问我的程序定义的函数对不对,为什么不能在主函数中调用?