for循环计数器不增加

时间:2019-11-19 18:17:45

标签: c++

这段代码有些问题。基本上,“ k”的增量不超过1。我已经尝试过在循环外声明它,但没有解决它。基本上,代码所做的是生成晶体网格。 这是一项整体评估,目前我是具有控制台功能的新手,尤其是管理光标。如您所见,在每次迭代中,我将pos.x添加+2。似乎可以正常工作,但是当它再次启动时,pos.x返回到起始值,而pos.y改为递增​​(?)。

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 个答案:

答案 0 :(得分:4)

增加到大于1,但您仍将其再次设置为1:

if (k = 1)

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

您的编译器应已对此发出警告。如果没有,请查看您的警告设置。如果确实如此,请停止忽略警告。