了解特定的For循环 所以昨天我在研究C++。查看一些示例代码,并尝试了解情况。我看到了: for (bool b = true; b; ) { b = true; //Other stuff. }

了解特定的For循环 所以昨天我在研究C++。查看一些示例代码,并尝试了解情况。我看到了: for (bool b = true; b; ) { b = true; //Other stuff. },c++,loops,C++,Loops,这让我觉得自己很愚蠢,因为这是我第一次看到这样使用for循环。基本上,这是什么意思?什么是等效的while循环?它与: do { b = true; // Other stuff } while(b); bool b = true; // 1 while(b) // 2 { b = true; //Other stuff. // 3 } for循环中由3个分号分隔的部分始终对应于我在while循环中注释的位置 不过,不要认为这是一种节省几行的聪明方法。任何像

这让我觉得自己很愚蠢,因为这是我第一次看到这样使用for循环。基本上,这是什么意思?什么是等效的while循环?

它与:

do
{
  b = true;
  // Other stuff
} while(b);
bool b = true; // 1

while(b) // 2
{
    b = true;
    //Other stuff.
    // 3
}
for循环中由3个分号分隔的部分始终对应于我在while循环中注释的位置


不过,不要认为这是一种节省几行的聪明方法。任何像你看到的那样编写代码的人都应该被枪毙。

谢谢;这非常有帮助。这是错误的,for循环在执行body@BlackBear一般来说,这可能不等同于for循环,但根据给定的信息,它与给定的for循环非常相似。这是一种非常奇怪的表达方式。Ew,这是在示例代码中?大括号中的b=true没有任何作用;只有当b为true时,才会调用它将b设置为true谢谢;我现在明白了。我很欣赏这种情绪,但它不仅节省了几行,还限制了b变量的范围。是的,@tinman是对的。此外,您还可以了解循环变量在循环中的变化情况,而不必查看循环的顶部和底部。即使这让它看起来更复杂。例如,
For(inti,scanf(“%d”,&i);i;scanf(“%d”,&i)){…}
对我来说比
while
等价物更有意义(尽管在这个非常特殊的情况下,我会写:
inti;while(scanf(“%d”,&i),i{…}
)我必须承认,在上一篇文章中,我还想向@randolph levant展示这三个语句可以是任何有效的语句,可以放在位置1、2和3,正如karl bielefeldt所提到的。我指的是任何。例如:
For(FILE*fin=fopen(“some_FILE”,“r”);network_正在工作();draw_statistics_graph()){…/*可能从文件中读取,从网络中执行一些操作并保存统计数据*/…}
@jadarnel27:他的答案是正确的,我不想为OP列出很多基本相同的答案,只是混淆了OP。