C中if else语句的问题
Problems in if else statements in C
#include<stdio.h>
#include<stdlib.h>
int main(){
int month, day;
printf("Enter the input : ");
scanf("%d %d",&month,&day);
if (day == 1 && month==1 || month == 2 || month == 3 || month ==4){
printf("Green\n");
}
else if(day == 2 && month == 5 || month == 6 || month ==7 || month ==8 ){
printf("Red");
}
return 0;
}
在上面的代码中,每当我选择 d = 1
和 month = 1-4
时,它应该正确打印绿色。问题是当我选择 day = 2 & month = 8 or 7 or 6
时,它应该打印 red
但它正在打印 green
。我在这里遗漏了什么吗?
你需要检查不同的日期和月份。
试试这个:
if (day == 1 && (month==1 || month == 2 || month == 3 || month ==4)){
printf("Green\n");
}
else if(day == 2 && (month == 5 || month == 6 || month ==7 || month ==8)){
printf("Red");
}
正如您所料,一切正常。
也许,您忘记了您的第一个输入是 month
而 day
是第二个。
现在再试一次。
#include <stdio.h>
#include<stdlib.h>
int main(){
int month, day;
printf("Enter the input : ");
scanf("%d %d",&month,&day);
if ((day == 1 && month==1) || month == 2 || month == 3 || month ==4)
{ printf("Green\n"); }
else if(day == 2 && month == 5 || month == 6 || month ==7 || month ==8 ){
printf("Red"); }
return 0;
}
#include<stdio.h>
#include<stdlib.h>
int main(){
int month, day;
printf("Enter the input : ");
scanf("%d %d",&month,&day);
if (day == 1 && month==1 || month == 2 || month == 3 || month ==4){
printf("Green\n");
}
else if(day == 2 && month == 5 || month == 6 || month ==7 || month ==8 ){
printf("Red");
}
return 0;
}
在上面的代码中,每当我选择 d = 1
和 month = 1-4
时,它应该正确打印绿色。问题是当我选择 day = 2 & month = 8 or 7 or 6
时,它应该打印 red
但它正在打印 green
。我在这里遗漏了什么吗?
你需要检查不同的日期和月份。 试试这个:
if (day == 1 && (month==1 || month == 2 || month == 3 || month ==4)){
printf("Green\n");
}
else if(day == 2 && (month == 5 || month == 6 || month ==7 || month ==8)){
printf("Red");
}
正如您所料,一切正常。
也许,您忘记了您的第一个输入是 month
而 day
是第二个。
现在再试一次。
#include <stdio.h>
#include<stdlib.h>
int main(){
int month, day;
printf("Enter the input : ");
scanf("%d %d",&month,&day);
if ((day == 1 && month==1) || month == 2 || month == 3 || month ==4)
{ printf("Green\n"); }
else if(day == 2 && month == 5 || month == 6 || month ==7 || month ==8 ){
printf("Red"); }
return 0;
}