如果满足多个条件之一,我将如何创建一个循环来执行循环。例如:
do
{
srand (time(0));
estrength = rand()%100);
srand (time(0));
strength = rand()%100);
} while( ) //either strength or estrength is not equal to 100
有点蹩脚的例子,但我想你们都会理解。
我知道&&,但我希望它只满足其中一个条件并继续前进,而不是两者。
答案 0 :(得分:9)
使用||
和/或&&
运算符组合您的条件。
示例:
<强> 1 强>
do
{
...
} while (a || b);
将循环,a
或b
为真。
<强> 2 强>
do
{
...
} while (a && b);
将循环,而a
和b
都为真。
答案 1 :(得分:5)
while ( !a && !b ) // while a is false and b is false
{
// Do something that will eventually make a or b true.
}
或等效
while ( !( a || b ) ) // while at least one of them is false
在创建更复杂的逻辑语句时,This table of operator precedence会很有用,但我通常建议将其包含在内,以明确您的意图。
如果你感觉理论上的,你可能会喜欢De Morgan's Laws。
答案 2 :(得分:2)
do {
srand (time(0));
estrength = rand()%100);
srand (time(0));
strength = rand()%100);
} while(!estrength == 100 && !strength == 100 )
答案 3 :(得分:2)
do {
// ...
} while (strength != 100 || estrength != 100)