IF语句如何与AND和OR一起使用?

时间:2018-03-08 16:59:24

标签: if-statement logical-operators boolean-logic

假设我使用通用语言编写以下代码:

a = 1
b = 2
IF a == 3 AND b == 2:
  do something
ELSE:
  do something

如果a == 3为假,则程序不需要检查第二部分,因为对于任何n值,总是结果为假。

与or相同:

    a = 1
    b = 2
    IF a == 1 OR b == 3:
      do something
    ELSE:
      do something

如果a == 1为真,程序就不需要检查b == 3,因为它总是正确的。

我想知道在这些情况下程序是否在第一部分停止。

1 个答案:

答案 0 :(得分:1)

很可能取决于语言。我知道在C / C ++中它实际上只检查b == 2,如果a和= 3则在一个和语句的情况下。我对or语句不是肯定的,但我只是通过运行它来检查,我得到的输出表明只有or语句的第一部分执行。我建议您在将来编写自己的样本以测试此类问题。

inline-block

提供以下输出:

#include <stdio.h>

int call_false()
{
    printf("CALL FALSE \n\r");
    return 0;
}

int call_true()
{
    printf("CALL TRUE \n\r");
    return 1;
}

int main()
{
    printf("Hello World");
    int a = 1;
    int b = 2;
    if( a == call_true() || b == call_false())
    {
        printf("TRUE \n\r");
    }else
    {
        printf("FALSE");
    }
    return 0;
}