当输出达到某个值时,如何在c ++中打破计数器循环

时间:2017-08-13 20:50:03

标签: c++ counter

我这里的代码行基本上是一个输入,然后从0到该输入的计数为2s。我坚持的是在输出满足原始输入时尝试停止循环。例如,用户输入4和输出将是0 2 4.用户输入10并且它将是0 2 4 6 8 10.

当我尝试使用if语句来破解代码时,输​​出只会更改为0

对不起。我是c ++的新手

int main() {
    int x; 
    int y;
    cout << "Enter a value: " << endl;
    while (x >= 0) {
        cout << x << " ";
        y = (x += 2);
        if (y == x)break;
    }
}

1 个答案:

答案 0 :(得分:1)

y == x在该条件下始终为真(不考虑UB代表未初始化的变量),因为您在上述语句中将x分配给y

使用for循环,它非常适用于此:

for(int i = 0; i <= your_input; i += 2)
{
    std::cout << i << " ";
}

代码中的缺陷:

  • 你正在改变两个变量
  • 其中一个未初始化为0,您没有将用户的输入转移到另一个
  • x >= 0对于循环而言是无意义的条件