2014-02-26 57 views
-1
#include <iostream> 
int main() 
{ 
    std::cout << " Enter the small number " << std::endl; 
    int v1 = 0; 
    std::cin >> v1; 

    std::cout << " Enter the large number " << std::endl; 
    int v2 = 0; 
    std::cin >> v2; 

    int x = 0; 
    while (x <= v2-1) { 
    x = v1+1; 
    ++x; 
    } 

    std::cout << x << std::endl; 
    return 0; 
} 

此代码不给出任何错误,但输入两个数字后我无法获得任何输出。但是,它适用于这样的for循环;在两个随机整数指定的范围内打印每个数字

{ 
    for (int x = v1+1; x <= v2-1; ++x) 
    std::cout << x << std::endl; 
    return 0; 
} 

什么是我应该避免使用while循环的错误?

+0

要初始化'x'每次。 –

回答

2
int x = 0; 
while (x <= v2-1) { 
    x = v1+1; 
    ++x;} 

你在这里得到一个无限循环,x的值始终是v1 + 1或v1 + 2。

使用本:

int x = v1+1; 
while (x++ <= v2-1) { 
cout<<x; 
} 
+0

谢谢。它按照预期的方式工作。 – user3356348

相关问题