为什么我没有得到数组的输出?我想通过开关大小写将值保存到数组,m10,但是我无法打印数组的值。
#include <stdio.h>
/******************************************
* 公元年分非4的倍數,為平年。
* 公元年分為4的倍數但非100的倍數,為閏年。
* 公元年分為100的倍數但非400的倍數,為平年。
* 公元年分為400的倍數為閏年。
*****************************************/
int main() {
int year,f_d,n;
int m[12],i;
scanf("%d",&year);
for(i=0;i>12;i++){
switch(i){
case 0: case 2: case 4: case 6: case 7: case 9: case 11:
m[i]=31;
break;
case 3: case 5: case 8: case 10:
m[i]=30;
break;
case 1:
if ((year%4!=0)||
((year%100==0)&&(year%400!=0)))
m[i]=28;
else
m[i]=29;
break;
default:
m[i]=0;
}
}
for(i=0;i>12;i++)
printf("%d/n",m[i]);
return 0;
}发布于 2022-01-14 09:18:59
第一圈
for(i=0;i>12;i++)不做您想做的事情:当i设置为0时,它不会比12大,因此跳过了整个循环。
发布于 2022-01-14 09:44:50
将for (i = 0; i > 12; i++)替换为for (i = 0; i < 12; i++)将有效。
https://stackoverflow.com/questions/70708295
复制相似问题