TheRedWolf
2017-03-10 21:05
int main()
{
int year,month,day;
int i,j,n;
int a[12];
scanf ("%d%d%d",&year,&month,&day);
printf ("%d\t%d\t%d\n",year,month,day);
for (i=0;i<=12;i++){
if (i==0){
a[i]=31;
}else if(i==1){
a[i]=28;
}else if(i%2==1){
a[i]=31;
}else{
a[i]=30;
}
}
if (year%400==0 || (year%4==0 && year%100!=0)){
a[1]=29;
}else{
a[1]=28;
}
for (i=0;i<=12;i++){
printf ("%d\t",a[i]);
}
return 0;
}
为什么我不管输入year是平年还是闰年,二月份的天数都是28呢?我搞不懂。。。。。
我找到错误地方了,我在第一个for循环的时候,给i设定条件的时候是i<=12,但是我的数组长度为12,数组越界了,把这个<=改为< ,一切正常了
C语言入门
926207 学习 · 20797 问题
相似问题