為什么不管我輸入的year是平年還是閏年,二月份的天數(shù)總是28呢?
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是平年還是閏年,二月份的天數(shù)都是28呢?我搞不懂。。。。。
2017-03-10
我找到錯誤地方了,我在第一個for循環(huán)的時候,給i設(shè)定條件的時候是i<=12,但是我的數(shù)組長度為12,數(shù)組越界了,把這個<=改為< ,一切正常了