Bor*_*nth 7 c++ loops operators
我正在制作一台循环机,直到所有三个std::string都具有相同的值.我很困惑为什么在这段代码|| operator中给出了期望的结果而不是&& operator.
std::string slotA,slotB,slotC;
do {
//Fill slotA, slotB and slotC with some data
} while (slotB != slotC || slotB != slotA);
Run Code Online (Sandbox Code Playgroud)
Hum*_*awi 14
你的停止条件应该是:
while (!(slotB == slotC && slotB == slotA));
Run Code Online (Sandbox Code Playgroud)
但是,在Bool-Algebra !(slotB == slotC && slotB == slotA)中等于slotB != slotC || slotB != slotA
这条规则称为De Morgan Law
| 归档时间: |
|
| 查看次数: |
422 次 |
| 最近记录: |