我编写了以下代码,但在编译完成后运行它,没有任何反应.我无法弄清楚它有什么问题.
while循环中有两个"和条件" .当我取出1个条件时,它工作正常,但是当我把两个条件都放进去时,它就不再起作用了.
#include <iostream>
using namespace std;
int main() {
int n;
cout << "Enter an integer greater than 10: ";
cin >> n;
int c=1;
while ( (c*5 <= n*2) && (c*5 >= n) ) {
cout << c*5 << endl;
c = c+1;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
你的病情永远不会成真.你开始n > 10说吧n == 11.最初,c == 1.
你的条件是:
while ( (c*5 <= n*2) && (c*5 >= n) )
Run Code Online (Sandbox Code Playgroud)
所以那是:
while ( (1*5 <= 11*2) && (1*5 >= 11) )
Run Code Online (Sandbox Code Playgroud)
要么
while ( (5 <= 22) && (5 >= 11) )
Run Code Online (Sandbox Code Playgroud)
5小于11,因此5 >= 11是假的,循环永远不会运行.