C++ 由于编译器读取代码的方式,输入变量时出现问题

C++ 由于编译器读取代码的方式,输入变量时出现问题,c++,C++,我是新来的。下面是一段C语言的代码++ int main() { cout<<"?"; int a; cout<<"?"; cout<<"Enter no: "; cin>>a; cout<<"?"; for(int i=0;i<5;i++) while(i>0) i=i/2; cout<<"?"; } intmai

我是新来的。下面是一段C语言的代码++

int main()
{
    cout<<"?";
    int a;
    cout<<"?";
    cout<<"Enter no: ";
    cin>>a;
    cout<<"?";
    for(int i=0;i<5;i++)
        while(i>0)
        i=i/2;
    cout<<"?";
}
intmain()
{

cout这是因为cout是一个缓冲的ostream…这意味着您需要刷新它才能出现“第二个”问号:

int main()
{
    cout<<"?";
    int a;
    cout<<"?";
    cout<<"Enter no: ";
    cin>>a;
    cout<<"?";
    cout.flush();
    for(int i=0;i<5;i++)
        while(i>0)
        i=i/2;
    cout<<"?";
}
intmain()
{
库特

似乎对我起到了作用。似乎流在进入循环之前没有被刷新。

你确定它不是在输入后隐藏在生命中吗?你使用的是什么编译器?
(;)
是惯用的无限循环。你的循环太奇怪了!我不得不把j放在第二个循环中。我把I放错了!但是在我注意到之前我就发现了这件事。谢谢。
std::cout.flush();