C++ 在do while中可以声明多少个条件?

C++ 在do while中可以声明多少个条件?,c++,C++,我是编程新手 我写了C++程序,我用do做/p> do { //some code here }while(tolid_mantaghe1 == tolid_safar_mantaghe1 && tolid_mantaghe2 == tolid_safar_mantaghe2 && jazb_mantaghe3 == jazb_safar_mantaghe3 &&

我是编程新手 我写了C++程序,我用do做/p>
do {
    //some code here 
    }while(tolid_mantaghe1 == tolid_safar_mantaghe1
           && tolid_mantaghe2 == tolid_safar_mantaghe2 
           && jazb_mantaghe3 == jazb_safar_mantaghe3 
           && jazb_mantaghe4 == jazb_safar_mantaghe4  );
< P>我知道第一个条件(ToIDLMangAtHeH1==TelIDySaFaLaMangaTHE1)是第一次是真的,但其他的是错误的,但是这个循环运行一次,之后它的退出似乎是条件不检查,我不知道为什么。< /P> < P> C++(以及许多其他语言),<代码>运算符& & < /Cord>是逻辑和操作符,只有当两个条件都为
true
时,才会发出“yelds
true
”。如果其中任何一个条件是错误的,那么整个陈述都是错误的

代码执行一次,因为执行后,
do while
循环实际上在端测试条件。如果在此处使用
while
for
循环,则根本不会执行其中的代码

如果要测试任何
条件是否为真,请改用逻辑OR运算符
运算符|
。这里是两个操作符的真值表,取自佛罗里达大学的一个子页。


理论上你喜欢多少就有多少

非正式地说,一个表达式可以包含许多由操作符
&&
|
分隔的表达式

< C++语法对数字没有限制。

注意,C++中的复合表达式是短路的,所以将表达式容易地放在列表中是有意义的。 当所有这些值相等时,我想停止

< C++中的循环条件不是“停止条件”,而是“继续条件”。您需要对循环条件应用布尔求反,因为“重复到X”转换为“不执行X”:

根据DeMorgan的说法,也可以写成:

do
{
    // some code here 
} while (tolid_mantaghe1 != tolid_safar_mantaghe1
      || tolid_mantaghe2 != tolid_safar_mantaghe2 
       || jazb_mantaghe3 != jazb_safar_mantaghe3 
       || jazb_mantaghe4 != jazb_safar_mantaghe4);

你还指望什么?(true&&false&&false…=false您回答了自己的问题:第一个条件为true,其他条件为false,因此与&&false的组合为false,因此循环退出。如果要在任何条件为true时执行循环,请使用| |而不是&&8?有点苛刻,你不觉得吗?(我想这样的限制可能存在于VBA中,而一个好的答案需要引用C++语法)。问题也含糊不清。“这个循环在那之后跑了一次”让我觉得身体跑了两次——显然不是。尽管人们可能不是以英语为母语的人,但要有耐心。注意:理论上讲,这一点很重要,即使不是所有的编译器,也是有限度的。
do
{
    // some code here 
} while (tolid_mantaghe1 != tolid_safar_mantaghe1
      || tolid_mantaghe2 != tolid_safar_mantaghe2 
       || jazb_mantaghe3 != jazb_safar_mantaghe3 
       || jazb_mantaghe4 != jazb_safar_mantaghe4);