【发布时间】:2017-09-21 01:29:30
【问题描述】:
据我所知,当您在 while 或 if 语句中有多个条件时,所有条件都必须为真,才能运行下面的代码块。
我的问题是;是否可以有多个条件,但如果这些条件中的任何一个为真,下面的代码块就会运行?这意味着其中一个、两个或全部可能为真,而 while/if 语句将为真?
特别是在 C 中。
【问题讨论】:
标签: c loops while-loop conditional-statements
据我所知,当您在 while 或 if 语句中有多个条件时,所有条件都必须为真,才能运行下面的代码块。
我的问题是;是否可以有多个条件,但如果这些条件中的任何一个为真,下面的代码块就会运行?这意味着其中一个、两个或全部可能为真,而 while/if 语句将为真?
特别是在 C 中。
【问题讨论】:
标签: c loops while-loop conditional-statements
当您使用“and”(&&)运算符连接条件时,您所说的就会发生。使用此运算符,您与 && 连接的所有条件都必须全部为真才能使总条件为真。相反,您可以使用“或”(||)逻辑运算符来评估条件,并且只有一个条件为真,总条件为真。
【讨论】:
是的,您可以使用 OR 逻辑运算符。
例子:
if(x==1 || x==2 || z==4)
{
//code
}
当 if 语句中的至少一个条件为真时,代码将被执行
【讨论】:
您要问的是逻辑 AND 和逻辑 OR 之间的区别。
如果两个操作数都为真,则逻辑与运算符&& 的计算结果为真。相反,如果逻辑 OR 运算符|| 的任一操作数计算结果为真,则其计算结果为真。
例如:
int a=3, b=4;
a>4 && b>5 // false
a>1 && b>5 // false
a>4 && b>3 // false
a>1 && b>3 // true
a>1 || b>3 // true
a>1 || b>5 // true
a>4 || b>3 // true
a>4 || b>5 // false
【讨论】:
我的问题是;是否可以有多个条件,但 如果这些条件中的任何一个为真,那么下面的代码块会运行吗? 这意味着其中一个、两个或全部可能是真的,而 while/if 声明会是真的吗?
是的,你可以改变这个:
if (x) {code1}
if (y) {code2}
到这里:
if (x || y) {code3}
【讨论】: