在for循环中使用多个值?
我需要帮助使用“for循环”超过2个值这是一起去。这是我的代码:在for循环中使用多个值?
for(x=1 , y=1 ; x<6 , y<10 ; x++ , y++){
cout << "x:" << x << endl;
cout << "y:" << y << endl;
现在,当我运行它... x和y上升到9 但我希望他们能一起运行,但我想X停止在6输出,我想ÿ继续9 ..但我不知道该怎么做,或者甚至有可能这样做..在此先感谢!
我不使用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循环的核心,但为了简单起见,我在这里排除了这一点。
最简单的,对于这个问题的一个自然的解释,是一个嵌套的循环:
for(int y = 1; y < 10; ++y)
{
for(int x = 1; x < 6; ++x)
{
cout << "x:" << x << endl;
cout << "y:" << y << endl;
}
}
相反,如果你真的想两个值称为x
和y
这始终是相同的,并且你想要做一个为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;
}
如果你的意思是别的东西,那么你需要澄清你的问题,例如以期望的输出为例。
TEST.CPP:
#include <iostream>
int main() {
for(int i = 1; i < 6; ++i) {
std::cout << "x: " << i << std::endl;
std::cout << "y: " << i << std::endl;
}
for(int i = 6; i < 10; ++i) {
std::cout << "y: " << i << std::endl;
}
}
输出:
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条件。但我不确定编译器如何优化代码。毕竟这可能不重要。 –
这确实帮了我!非常感谢:)(我是一个初学者,所以我不在乎优化代码。 –
你的意思是,不是使用'if'条件打印出来之前检查x'的'价值等? –
@Pavlin Edrev当x等于6且y小于10时,你会在循环体中做什么? –
@VladfromMoscow我只是想改变自己的values..by显示每个号码已变更......如果这给意义吗 –