【发布时间】:2017-08-13 20:50:02
【问题描述】:
我这里有几行代码,它们基本上接受一个输入,然后从 0 到那个输入计数 2 秒。我坚持的是,一旦输出满足原始输入,就试图停止循环。例如,用户输入 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;
}
}
【问题讨论】:
-
我认为
y在遇到if语句时总是等于x,因为它总是将x的值分配给紧接其上方的行中的y。所以它总是会在第一次通过循环时退出。 -
想一想,提示用户输入的内容在哪里?
-
您的代码具有未定义的行为,因为
x和y未初始化。 -
@user0042:读取输入的实际
std::cin语句也丢失了。我怀疑这不是巧合。