我正在尝试创建一个循环,每当if语句为true时,就向int变量加1

但是即使在if语句为true的情况下测试代码时,变量也不会增加,就好像my for循环根本不会增加。

代码示例:

int left_jab_count;
if(area >=100000 && area1 <100000)
{
    cout<<"LEFT JAB HAS BEEN THROWN"" "<<area<<endl;

    for(int left_jab_count = 0; left_jab_count < 0 ;++left_jab_count)
    {
        cout<<"Left Jab :"<<left_jab_count<<endl;
    }
}

有人可以看到这里出了什么问题吗?

===============>>#1 票数:7

 for(int left_jab_count = 0; left_jab_count < 0 ;++left_jab_count)
                                        //^^^^left_jab_count is never < 0
                                        // change <0 to some value larger than 0

您的for循环永远不会执行。 因此, left_jab_count将永远不会增加,也永远不会输入for循环的主体。

同时,您两次声明了left_jab_count

===============>>#2 票数:2

tacp已充分涵盖了您当前代码中的问题,因此我不再赘述。 根据您的规范, “我正在尝试创建一个在每次if语句为true时将1添加到int变量的循环” ,您想要的是这样的:

int left_jab_count = 0; // Don't forget to initialise this

while (true) // Replace with real loop
{
    // Do NOT initialise left_jab_count here, otherwise it will be
    // reset to 0 on every loop

    // Insert code which changes area and area1

    if (area >= 100000 && area1 < 100000)
    {
        cout << "LEFT JAB HAS BEEN THROWN " << area << endl;
        left_jab_count++;
    }
}

除非您遗漏了规范,否则在if块内不需要for循环。

===============>>#3 票数:0

JBentley回答了您提出的问题。 在他发布的While语句中,您应该添加一个为true的条件,以便可以运行其中的代码。 我想您要输入:

while (left_jab_count < NUMBER)

确保具有真实条件,以便循环可以启动并运行if语句。

  ask by Tomazi translate from so

未解决问题?本站智能推荐: