Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/124.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 我可以使用for循环作为if-else条件语句吗? #包括 使用名称空间std; int main() { if(对于(int i=0;i6)break;) cout_C++ - Fatal编程技术网

C++ 我可以使用for循环作为if-else条件语句吗? #包括 使用名称空间std; int main() { if(对于(int i=0;i6)break;) cout

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。一种方法是再次检查循环条件,看看它是否失

No,for语句是一个语句,not是一个表达式。条件expression需要是一个表达式

但是,您当然可以通过其他方式做您想做的事情,即使不必求助于
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::cout
if([&]{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";
}