它說 else (year%4==0&&month==2) { day+=29; }錯了,我看了好幾遍不知道哪里錯了,求大神指點(diǎn)
#include <stdio.h>
int main()?
{?
?
? ? int year = 2008;
? ? int month = 8;
? ? int day = 8;
??
? ??
? ? for(month=1;month<8;month++)
? ? ?{?
? ? ? ? ?if (month==1||3||5||7)
? ? ? ? {
? ? ? ? ?day+=31;
? ? ? ? }
? ? ? ? else (year%4==0&&month==2)
? ? ? ? {
? ? ? ? ?day+=29;? ?
? ? ? ? }
? ? ? ? else if(month==4||6)
? ? ? ? {
? ? ? ? ?day+=30;
? ? ? ? }
? ? ??
? ? ? ??
? ? ?}
? ??
? ? printf("2008年8月8日是該年的第%d\n天",day);
return 0;
}
2020-06-29
兄弟你這個優(yōu)先級就錯了,比如(year%4==0&&month==2)先執(zhí)行year%4==0,這個結(jié)果是1,同時執(zhí)行month==2,比如第一輪for循環(huán)month=1那month==2結(jié)果為0,然后執(zhí)行&&,就是1&&0,結(jié)果出0,在else括號里就不是一個條件了就運(yùn)行不了{(lán)}里的代碼