在for循环中使用多个值?

时间:2017-02-14 23:46:47

标签: c++ for-loop

我需要帮助才能使用超过2个值的'for循环'。这是我的代码:

this.setState({filteredList: null});

现在,当我运行它时...... x和y最高可达9 虽然我希望他们一起跑,但我希望x停止输出6,我希望你继续9 ..但我不知道该怎么做或者甚至可以这样做..提前谢谢!

3 个答案:

答案 0 :(得分:2)

我不使用c++所以如果我的语法错误,有人会纠正我,但作为一名广谱程序员,我认为解决方案看起来像这样:

for (x=1, y=1; x<6 || y<10;) {
    if (x<6) {
        cout << "x:" << x << endl;
        ++x;
    }
    if (y<10) {
        cout << "y:" << y << endl;
        ++y;
    }
}

如果不使用三元运算符离开for循环的核心,还有一些方法可以实现这种效果,但为了简单起见,我在这里排除了它。

答案 1 :(得分:0)

TEST.CPP:

x: 1
y: 1
x: 2
y: 2
x: 3
y: 3
x: 4
y: 4
x: 5
y: 5
y: 6
y: 7
y: 8
y: 9

输出:

{{1}}

答案 2 :(得分:-7)

对于问题的自然解释,最简单的是嵌套循环:

for( int y = 1; y < 10; ++y )
{
    for( int x = 1; x < 6; ++x )
    {
        cout << "x:" << x << endl;
        cout << "y:" << y << endl;
    }
}

如果您真的想要两个名为xy的值始终相同,并且您希望为x < 6执行一项操作,为y < 10执行其他操作,然后一个循环计数器就足够了:

for( int i = 1; i < 10; ++i )
{
    int const y = i;
    if( i < 6 )
    {
        int const x = i;
        // Do the x and y thing here. E.g.
        cout << "x: " << x << endl;
    }
    // Do the y only thing here. E.g.
    cout << "y: " << y << endl;
}

如果您有其他意思,那么您需要澄清您的问题,例如:以期望的输出为例。