我这里的代码行基本上是一个输入,然后从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;
}
}
答案 0 :(得分:1)
y == x
在该条件下始终为真(不考虑UB代表未初始化的变量),因为您在上述语句中将x
分配给y
。
使用for
循环,它非常适用于此:
for(int i = 0; i <= your_input; i += 2)
{
std::cout << i << " ";
}
代码中的缺陷:
0
,您没有将用户的输入转移到另一个x >= 0
对于循环而言是无意义的条件