对于循环计数器不递增

for loop counter doesn't increment

本文关键字:计数器 循环 于循环      更新时间:2023-10-16

我对这段代码有一些问题。基本上"k"的增量不超过1。我已经尝试过在循环外声明它,但没有修复它。基本上,代码所做的就是生成一个晶体网格。这是一个统一的评估,目前我是控制台功能的新手,尤其是管理光标。正如你所看到的,在每一次迭代中,我都会将+2加到posx上。这似乎有效,但当它再次开始时,posx会返回到起始值,而不是posy来增加(?(。

void gridGeneration(Crystal simbols[][Columns])
{
COORD pos = {10, 55};
for (int i = 0; i < Rows; i++)
for (int k = 0; k < Columns; k++)
{
WriteCrystalAt(simbols[i][k].crystal, pos.X, pos.Y, simbols[i][k].color= rand() % light_yellow + light_blue);
pos.X += 2; 
if (k = 1)
{
pos.X = 10;
pos.Y += 2;
}
}
}

进一步增加1,但您会再次将其设置为1:

if (k = 1)

您应该使用==进行比较。

您的编译器应该对此发出警告。如果没有,请检查您的警告设置。如果是,请停止忽视警告。