C++ 我可以使用for循环作为if-else条件语句吗? #包括 使用名称空间std; int main() { if(对于(int i=0;i6)break;) cout
No,for语句是一个语句,not是一个表达式。条件expression需要是一个表达式 但是,您当然可以通过其他方式做您想做的事情,即使不必求助于C++ 我可以使用for循环作为if-else条件语句吗? #包括 使用名称空间std; int main() { if(对于(int i=0;i6)break;) cout,c++,C++,No,for语句是一个语句,not是一个表达式。条件expression需要是一个表达式 但是,您当然可以通过其他方式做您想做的事情,即使不必求助于goto。一种方法是再次检查循环条件,看看它是否失败(否则,在给出一些假设的情况下,您必须已断开循环): inti; 对于(i=0;i6) 打破 如果(iNo,for语句是一个语句,not是一个表达式。条件expression需要是一个表达式 但是,您当然可以通过其他方式做您想做的事情,即使不必求助于goto。一种方法是再次检查循环条件,看看它是否失
goto
。一种方法是再次检查循环条件,看看它是否失败(否则,在给出一些假设的情况下,您必须已断开循环):
inti;
对于(i=0;i6)
打破
如果(iNo,for语句是一个语句,not是一个表达式。条件expression需要是一个表达式
但是,您当然可以通过其他方式做您想做的事情,即使不必求助于goto
。一种方法是再次检查循环条件,看看它是否失败(否则,在给出一些假设的情况下,您必须已断开循环):
inti;
对于(i=0;i6)
打破
if(iNo,不能将for循环用作if-else条件语句。No,不能将for循环用作if-else条件语句。if([&]{for(int i=0;i6)返回false;返回true;}())
bool broke_out_of_loop(void) {
for( int i=0; i<10; i++)
if( i>6 )
return true;
return false;
}
void your_function(void) {
if( broke_out_of_loop() )
cout << "i went till 6";
else
cout << "i went till 10";
}
std::coutif([&]{for(inti=0;i6)返回false;返回true;}())
std::coutNot真的,因为i
是在for
语句中声明的,它在它之外是不可用的。@el.pescado你是对的,我把i
的声明移到了外面是为了这个目的…@skyking thanx,将尝试使用bool函数来实现不是真的,因为i
是在for
语句中声明的,它是n@el.pescado你是对的,我把I
的声明移到了外面是为了这个目的…@skyking thanx,将尝试使用bool函数实现I
当你总是在6
之后中断时,10
会是什么样子?为什么不直接说(int i=0;这不是我要实现的实际代码,它只是一个简单的例子来说明我想讨论的问题:<代码> > <代码>必须是一个值。<代码> < /COD>不返回一个值,所以这是无效的。但是,有其他方法来做你想要的,正如其他海报所指出的。C++确实如此。没有python的for else
。如果你总是在6
之后中断,那么i
将如何成为10
?为什么不直接说for(int i=0;这不是我要实现的实际代码,它只是一个简单的例子来说明我想讨论的问题:<代码> > <代码>必须是一个值。<代码> < /COD>不返回一个值,所以这是无效的。但是,有其他方法来做你想要的,正如其他海报所指出的。C++确实如此。没有python的for else
。欢迎来到StackOverflow。我注意到你有参加巡演的徽章。也许你应该重读关于如何回答的部分。以防你想知道为什么你被否决了(虽然我很受诱惑,但不是我)当前位置我猜投票失败的原因是你的答案没有帮助。事实上,它基本上是正确的,但这并不能改变这一点。欢迎来到StackOverflow。我注意到你有参加巡演的徽章。也许你应该重新阅读关于如何回答的部分。以防你想知道为什么你被投票失败(不是被我,尽管我很受诱惑)当前位置我猜投票人被否决的原因是你的回答没有帮助。事实上,它基本上是正确的,但这并不能改变这一点。
int i;
for( i=0; i<10; i++)
if( i>6 )
break;
if( i<10 ) // Loop condition still true, so we must have broken out
cout << "i went till 6";
else // Loop condition not true, so we must have finished the loop
cout << "i went till 10";
bool broke_out_of_loop(void) {
for( int i=0; i<10; i++)
if( i>6 )
return true;
return false;
}
void your_function(void) {
if( broke_out_of_loop() )
cout << "i went till 6";
else
cout << "i went till 10";
}
if([&]{for(int i=0;i<10;i++)if(i>6)return false; return true;}())
std::cout<<"i went till 10";//execute if the if statement is true
else std::cout<<"i went till 6";
}