用于循环添加到变量

时间:2013-04-18 00:17:47

标签: c++

我正在尝试创建一个循环,每次if语句为真时将一个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;
    }
}

有谁能看到这里出错的地方?

3 个答案:

答案 0 :(得分: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两次。

答案 1 :(得分:2)

tacp已充分涵盖了您当前代码的问题,因此我不会涉及这些问题。根据您的规范,“我试图创建一个循环,每次if语句为真时将一个int变量加1”,你想要的是这样的:

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++;
    }
}

除非您错误地说明了您的规范,否则for块内不需要if循环。

答案 2 :(得分:0)

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

while (left_jab_count < NUMBER)

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