即使我输入了另一个日期,它也只会打印“星期日”。我该如何解决这个问题?我通常不使用 int main() 但是我的一个朋友使用了这个方法并且它有效但是我使用的是学校编写的程序所以我不能直接粘贴它。但我很确定我正确地复制了它
#include <stdio.h>
int date;
int main()
{
printf(" \n\n JUNE 2020 \n");
printf(" SUN MON TUE WED THU FRI SAT \n");
printf(" 1 2 3 4 5 6 \n");
printf(" 7 8 9 10 11 12 13 \n");
printf(" 14 15 16 17 18 19 20 \n");
printf(" 21 22 23 24 25 26 27 \n");
printf(" 28 29 30 \n\n\n");
printf("Here is your schedule for June 2020 \n");
printf("Please select a date: ");
scanf("%d", &date);
if (( date == 7 ) || ( date == 14 ) || ( date == 21 ) || ( date || 28 ))
{
printf("sunday! ");
}
else if (( date == 1 ) || ( date == 8 ) || ( date == 15 ) || ( date == 22 ) || ( date == 29 ))
{
printf("monday! ");
}
else if (( date == 2 ) || ( date == 9 ) || ( date == 16 ) || ( date == 23 ) || ( date == 30 ))
{
printf("tuesday! " );
}
else if (( date == 3 ) || ( date == 10 ) || ( date == 17 ) || ( date = 24 ))
{
printf("wednesday!");
}
else if (( date == 4 ) || ( date == 11 ) || ( date == 18 ) || ( date == 25 ))
{
printf("thursday!");
}
else if (( date == 5 ) || ( date == 12 ) || ( date == 19 ) || ( date == 26 ))
{
printf("friday!");
}
else if (( date == 6 ) || ( date == 13 ) || ( date == 20 ) || ( date == 27 ))
{
printf("saturday!");
}
return 0;
} // end
Run Code Online (Sandbox Code Playgroud)
你的问题
( date || 28 ))
Run Code Online (Sandbox Code Playgroud)
始终为真,因此 firstif
始终为真。
改成
( date == 28 ))
Run Code Online (Sandbox Code Playgroud)
解释
( date || 28 ))
Run Code Online (Sandbox Code Playgroud)
等价于if (date || true)
并且始终为真。