Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/160.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++ 对于循环,只有两件事包括C++;_C++_Loops - Fatal编程技术网

C++ 对于循环,只有两件事包括C++;

C++ 对于循环,只有两件事包括C++;,c++,loops,C++,Loops,假设我有 int j = 23; for (j < 20; j++) { //do stuff } intj=23; 对于(j

假设我有

int j = 23;
for (j < 20; j++) {
    //do stuff
}
intj=23;
对于(j<20;j++){
//做事
}
我知道在这种情况下这看起来很愚蠢,但这可能吗?或者你必须做什么

int j = 23;
for (j; j < 20; j++) {
    //do stuff
}
intj=23;
对于(j;j<20;j++){
//做事
}

您总是有三个组件,但其中任何一个都可能为空。因此,您的第一个示例可以写成:

int j = 23;
for (; j < 20; j++) {
    // do stuff
}
intj=23;
对于(;j<20;j++){
//做事
}

(当然,这根本不起任何作用,因为
j
的初始值大于23,因此循环立即终止)。

通常使用空初始值设定项:

for (; j < 20; ++j)
(;j<20;++j)的


当然,这只是一个例子,但是如果
j
被初始化
23
,那么
for
循环将永远不会执行。

您只能做两件事,但您需要两个分号,因为for循环由初始值设定项、条件和对每个循环执行的操作组成。当然,您可以将其中任何一项留空

for (; j < 20; j++) { 
     // do stuff
}

你不能省略那里的分号。应该是:

int j = 23;
for (; j < 20; j++) {
  //do stuff
}
intj=23;
对于(;j<20;j++){
//做事
}

do{}while(++j<20)怎么样?当然不同的语义。你永远不会做任何事情,因为23>20
int j = 23;
for (; j < 20; j++) {
  //do stuff
}