如果c中有一个if,则只运行一个if和skip

时间:2017-07-23 12:37:45

标签: c++

我希望只是给定条件运行和其他if语句跳过这里是我的代码

#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <stdlib.h>
void main(void)
{
int a, b;
printf("enter a");
scanf("%d",&a);
printf("enter b");
scanf("%d",&b);
if(a==1 && b<=8)
{
    printf("you");
}
if(a==2 && 5<b && b<=10)
{
    printf("you");
else
    printf("me");
}
getch();
}

当我运行程序并输入一个(1)而b是(6)它显示我(youme)而不是仅仅(你)它显示我(你)和(我)在一起没有空间我只想(你)如果条件为真,否则(我)

1 个答案:

答案 0 :(得分:0)

您没有关注常规if-else块属性

if(a==1 && b<=8)  // This is independent if 1
{
    printf("you");
}

然后这是另一个if-else,否则在此块中的if或else将独立于先前发生的内容执行

if(a==2 && 5<b && b<=10)   //  This is independent if-else block 2
{
    printf("you");
}
else
    printf("me");

为了实现你想要的,它应该是if,否则if和else阻止

if(a==1 && b<=8)
{
    printf("you");
}
else if(a==2 && 5<b && b<=10)
{
    printf("you");
}
else
    printf("me");