If/Else (Beginner)

If/Else (Beginner)

本文关键字:Beginner Else If      更新时间:2023-10-16
int x = 0;
printf("Geben Sie bitte ihr Alter ein n");
scanf_s("%i",&x);
if (x <= 15)
{
printf("Sie duerfen keinen Alkohol trinken! n");
}
else
{
printf("Sie duerfen Bier trinken n");
if (x >= 18)
{
printf("Sie duerfen Alkohol jeglicher Art trinken! n");
}
}

条件:

  • 0-15之间:无酒精
  • 16-17之间:允许喝啤酒
  • 18+之间:所有含有酒精的东西都是允许的

问题是,当你说你18岁以上时,它会显示的第二部分

printf("Sie duerfen Bier trinken n");

我真的不知道该怎么解决。

您可以在早期ifelse部分中有一个if表达式。这个代码有三个不同的条件需要测试,看起来应该更像这样:

if (x <= 15)
{
printf("Sie duerfen keinen Alkohol trinken! n");
}
else if (x < 18)
{
printf("Sie duerfen Bier trinken n");
}
else
{
printf("Sie duerfen Alkohol jeglicher Art trinken! n");
}
}

if/else语句的工作方式:

if (condition)
{
//Perform this block of code
}
else
{
//If the if block wasn't executed, run this block of code
}

因此,在您的情况下,如果x>=18:

if (x<=15)
{
//This won't get performed
}
else
{
//This entire block will get performed, because the previous if block wasn't. 
//So the first print statement in your else block will get executed. 
if(x>=18)   
{
//This block will ALSO get performed
}
}