我有一个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