是否可以执行以下代码中显示的操作(使用任何语言)?
while(Condition)
// can I do anything here (like initializations) between the condition and the body of the loop?
{
// while Loop body
}
是否可以执行以下代码中显示的操作(使用任何语言)?
while(Condition)
// can I do anything here (like initializations) between the condition and the body of the loop?
{
// while Loop body
}
由于您尚未指定语言...
在 Common Lisp 和 Emacs Lisp 中,循环宏支持initially
可以在此处执行您想要的操作的子句。
(loop while (my-predicate)
initially (perform-setup)
do (my-function))
该子句子句在循环外执行(即仅一次)。
不,不可能,至少在我所知道的任何语言中(并且涵盖了很多)
要模拟相同的效果:
bool firstTime = true;
while (condition)
{
if (firstTime)
{
// do initialization here
firstTime = false
}
// the rest of your loop stuff here
}
这会做你想做的事,但在性能方面并不完全相同,因为在循环体中发生了额外的比较。
不,不是我见过的任何语言。
不,这至少在java中是不可能的
while(Condition)
// You can't do anything here
{
// This is the While Loop body
}
不,不可能在 while 循环之后和 while 循环体之前初始化变量或任何东西。如果你喜欢
boolean a;
while(condition)
a=false;
{
//body of loop
}
然后a=false
将成为while循环的主体和
{
//body of loop
}
不会是 while 循环的一部分。
你可以通过
for(int i=0,x=1,c=3;print(i,x,c),i<15;i++)
{
//use i,x,c here ,where they are initialized once
}
输出: print(i,x,c) 将执行一次
这适用于 C#