scanf("%d,%d,%d", &year, &month, &day);
这个语句中格式控制是用逗号分隔,而你输入的时候是用空格分隔,所以出错。
两种办法
一,改源码
把scanf("%d,%d,%d", &year, &month, &day);
改成scanf("%d%d%d", &year, &month, &day);
二,匹配格式输入
输入的时候用逗号分隔,也就是2016,8,4
Scanf的问题
你的代码里加着逗号呢,所以在运行时,输入的数据也要加逗号,就可以了。
如: 2016,8,4
#include
int main()
{
printf("input year,month and day\n");
int y,m,d,n=0;
scanf("%d %d %d",&y,&m,&d);
int flag=0;
if((y%4==0&&y%100!=0)||(y%400==0))
flag=1;
int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
if(flag==1)
a[2]=29;
int i;
for(i=1;i{
n+=a[i];
}
n+=d;
printf("%d\n",n);
return 0;
}