有人能解释一下这段代码的工作原理吗?我从我的一位老师那里寻求帮助,他编写了代码,我不知道他对此有何启发。
所以我有一个bool函数,它返回false或true值(显然)。但问题在于,有这行代码:
while (!DrikstPievienot(skaitlis, i, j, numbers));
这是什么意思?代码将工作,而bool函数将继续返回false值?
答案 0 :(得分:4)
代码将工作,而bool函数将继续返回false 值
是的,当DrikstPievienot
方法继续返回false
时,while循环将继续。
如果方法返回true
一次,那么它将会突破while
循环。
答案 1 :(得分:2)
“代码将在bool函数继续返回false值时有效吗?”
是的,完全是因为当它返回false时,while循环
条件将继续评估为真。所以你做对了。
有关详细信息,您可以查看此链接。
答案 2 :(得分:2)
嗯,这不是一个好例子
while语句后面跟一个分号。底层函数的输入参数似乎是常量(除非传入一些引用类型),因此,如果函数内部没有任何内容可以更改返回值,则此循环将永久执行或永远不会
所以扩展上面的代码
while (false == DrikstPievienot(skaitlis, i, j, numbers));
意味着如果被调用的方法返回false,则while语句的计算结果为
while(false == false);
这是为了永久运行(或直到断电停止一切)
答案 3 :(得分:1)
要了解更多信息,如果您写“while”并按两次“Tab”按钮,则会显示以下代码段:
while (true)
{
}
这意味着只要条件检查为真,while循环就会起作用,你的老师加了“!”如果返回值为false,则仅使while循环函数。
以不同的方式看待它,比如你有
bool isTrue = true;
while (isTrue);
让我们稍微修改一下代码:
bool isTrue = DrikstPievienot(skaitlis, i, j, numbers);
while (isTrue)
现在你知道在while循环中用你的函数名替换“isTrue”(就像老师写的那样)会产生与在while循环中使用“isTrue”变量相同的结果。 (如果返回值为false,你的老师再次添加“!”以使while循环功能起作用。)
答案 4 :(得分:0)
while循环将继续,直到满足条件。
while循环:
while (!DrikstPievienot(skaitlis, i, j, numbers));
正在调用函数DrikstPievienot
,它返回一个bool。但该函数以'!'为前缀不。这意味着循环应该继续,直到它返回true。
答案 5 :(得分:0)
为了更好地理解你可以这样翻译,while not true do s.t.
,我想如果你这样看,它会更有意义。