C++-For循环未执行

C++ - For loop not executed

本文关键字:执行 循环 C++-For      更新时间:2023-10-16

我不明白为什么这个for循环能在中工作

void managingTable(unsigned char table[256][256][1])
{
for (unsigned int x = 0; x <= 255; x++)
{
for (unsigned int y = 0; y <= 255; y++)
{
doSomethingWithTable();
}
}
}

当y达到255时退出,但在x上没有迭代,保持0 ,这是不起作用的

void managingTable(unsigned char table[256][256][1])
{
unsigned int x = 0;
unsigned int y = 0;
for (x; x <= 255; x++)
{
for (y; y <= 255; y++)
{
doSomethingWithTable();
}
}
}

这也不起作用:

void managingTable(unsigned char table[256][256][1])
{
unsigned int x = 0;
unsigned int y = 0;
for ( ; x <= 255; x++)
{
for ( ; y <= 255; y++)
{
doSomethingWithTable();
}
}
}

您的第一个示例为x的每个迭代声明一个新的y,从0开始。

您的第二个和第三个示例不会在x的迭代之间重置y的值,因此只会执行第一个y循环。剩余的y循环被跳过,因为y已经等于256。

将您的第二个示例更改为如下应该有效:

void managingTable(unsigned char table[256][256][1])
{
unsigned int x = 0;
for (x; x <= 255; x++)
{
unsigned int y = 0;
for (y; y <= 255; y++)
{
doSomethingWithTable();
}
}
}