C++ 当我输入一个被接受的数字时,为什么我的do while循环没有中断?
无论我输入接受的值还是不接受的值,循环都会继续运行C++ 当我输入一个被接受的数字时,为什么我的do while循环没有中断?,c++,C++,无论我输入接受的值还是不接受的值,循环都会继续运行 #include <iostream> #include <vector> using namespace std; int main(){ int size; bool accepted = ((size == 0) || (size == 3) || (size == 4) || (size == 5));
#include <iostream>
#include <vector>
using namespace std;
int main(){
int size;
bool accepted = ((size == 0) || (size == 3) || (size == 4) || (size == 5));
/************************************************************************/
do {
cout << "Enter number of digits in code (3, 4 or 5): " << flush;
cin >> size;
} while (!accepted);
/************************************************************************/
//static_cast<const int>(size);
cout << size;
return 0;
}
#包括
#包括
使用名称空间std;
int main(){
整数大小;
布尔接受=((大小==0)| |(大小==3)| |(大小==4)| |(大小==5));
/************************************************************************/
做{
cout大小;
}而(!接受);
/************************************************************************/
//静态铸件(尺寸);
coutbool不是每次迭代都更新的。只在开始时更新。要使逻辑工作,您需要将
accepted = ((size == 0) || (size == 3) || (size == 4) || (size == 5));
循环的内部
int main(){
int size;
bool accepted;
/************************************************************************/
do {
cout << "Enter number of digits in code (3, 4 or 5): " << flush;
cin >> size;
accepted = ((size == 0) || (size == 3) || (size == 4) || (size == 5));
} while (!accepted);
/************************************************************************/
//static_cast<const int>(size);
cout << size;
return 0;
}
intmain(){
整数大小;
布尔接受;
/************************************************************************/
做{
cout大小;
已接受=((大小==0)| |(大小==3)| |(大小==4)| |(大小==5));
}而(!接受);
/************************************************************************/
//静态铸件(尺寸);
当代码< > BoOL接受= 行时,C++的运行程序是否自顶向下。