我正在尝试创建一个循环,每次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;
}
}
有谁能看到这里出错的地方?
答案 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语句。