#include<stdio.h>
int input(int *,int *,int *);
int cal_date(int,int,int);
struct Date
{ int year;
int month;
int day;
}date;
void main()
{
int v,c,*y=date.year,*m=date.month,*d=date.day;
clrscr();
v=input(y,m,d);
if(v==0)
return;
c=cal_date(*y,*m,*d);
printf("The %d day.",c);
}
int input(int *y,int *m,int *d)
{
printf("Please input a year:");
scanf("%d",y);
printf("Please input a month:");
scanf("%d",m);
if(*m<1||*m>12)
{
printf("Invalid month!");
return 0;
}
printf("Please input a day:");
scanf("%d",d);
switch(*m)
{
case 2:
if((*y)%400==0||((*y)%4==0&&(*y)%100!=0))
if(*d<1||*d>29)
{
printf("Invalid day!");
return 0;
}
else
if(*d<1||*d>28)
{
printf("Invalid day!");
return 0;
}
break;
case 4: case 6: case 9: case 11:
if(*d<1||*d>30)
{
printf("Invalid day!");
return 0;
}
break;
default:
if(*d<1||*d>31)
{
printf("Invalid day!");
return 0;
}
}
}
switch(m)
{
case 1: return count[0];
case 2: return count[1];
case 3: return count[2];
case 4: return count[3];
case 5: return count[4];
case 6: return count[5];
case 7: return count[6];
case 8: return count[7];
case 9: return count[8];
case 10: return count[9];
case 11: return count[10];
case 12: return count[11];
}
}
刚才发的代码不全,还要加上这些
报了警告:non-portable pointer conversion in function main
请问该如何解决
刚才代码不全,现在补全了
以及我的那个y,m,d是指针,输入时应该不需要加&