循环中的gets()语句只询问输入一次

时间:2017-01-19 12:54:37

标签: c++ loops gets

在我的部分代码中,循环内部有一个gets()语句,应该在每次迭代时都要求输入。但是,它只询问输入一次,并且在循环再次运行时不再询问,好像已经进行了一些输入。这真的很烦人,因为似乎没有任何错误。

while(5) {
    cout<<"Is your number "<<x<<" ?\n[yes/no]\n";
    gets(ans);
    if (strcmpi(ans,"yes")==0)
        break;
}

1 个答案:

答案 0 :(得分:0)

get()不在C ++ [14]及更高版本中。您现在使用getline()代替。 std::cin也有效,但取决于你在做什么或个人偏好。