我有一個C程序,我想輸入一年中的一天,它返回月和月的一天,但當我運行它,它提供了所有的月份前幾個月,我只想輸出一個月。我不知道爲什麼這裏是代碼我有一個C程序,需要一年的一天,但我有麻煩
#include <stdio.h>
void SplitDate(int dayofyear, int year, int *month, int *day);
int main() {
int month[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int year, dayofyear, *day;
printf("Enter the day of the year: ");
scanf("%d", &dayofyear);
printf("Enter the year: ");
scanf("%d", &year);
printf("Day %d of year %d falls on:\n ",dayofyear, year);
SplitDate(dayofyear, year, month, day);
}
void SplitDate(int dayofyear, int year, int *month, int *day)
{
if(dayofyear >=1 || dayofyear <= 31)
{
printf("month = 1 day = %d\n",dayofyear);
}
if(dayofyear >=32 || dayofyear <= 60)
{
printf("month = 2 day = %d\n", dayofyear - 31);
}
if(dayofyear >=61 || dayofyear <=92)
{
printf("month = 3 day = %d\n", dayofyear - 59);
}
}
函數'SplitDate'中的'if'條件應該使用'&&',而不是'||'。 – AntonH
我知道這很簡單,但我認爲我將不得不使用或...謝謝你,@AntonH – user3538507
儘量大聲說出你的條件,我發現它有時有助於在'和'和'或'之間做出選擇更清晰。 – AntonH