比方说我有
int j = 23;
for (j < 20; j++) {
//do stuff
}我知道在这种情况下这看起来很愚蠢,但这可能吗?或者你必须要做
int j = 23;
for (j; j < 20; j++) {
//do stuff
}发布于 2012-05-01 08:12:45
你通常会使用一个空的初始化器:
for (; j < 20; ++j)当然,这只是一个例子,但是如果j被初始化为23,那么for循环将永远不会执行。
发布于 2012-05-01 08:12:37
您始终有三个组件,但它们中的任何一个都可能为空。所以你的第一个例子可以写成:
int j = 23;
for (; j < 20; j++) {
// do stuff
}(当然,这不会做任何事情,因为j的初始值大于23,所以循环立即终止)。
发布于 2012-05-01 08:13:10
您只能做两件事,但需要两个分号,因为for循环由一个初始化器、一个条件和一个要在每个循环上执行的操作组成。当然,您可以将其中任何一个留空
for (; j < 20; j++) {
// do stuff
}您甚至可以有一个仍然递增j的无限循环,例如
for (int j = 0; ; j++) {
// do stuff
}https://stackoverflow.com/questions/10392086
复制相似问题