为什么在 sync_with_stdio(false) 之前使用 cin 为下一个 i/p 变量提供随机值



这是一个简单的代码:

#include <iostream>
using namespace std;
int main() {
ios::sync_with_stdio(false);
int t,n;cin>>t;
cin.tie(NULL);

while(t--){
    cin>>n;
    cout<<n<<endl;
}
}

如果我输入为

2
1
2

我按预期得到输出1 2(在新行中(。现在,如果我在ios::sync_with_stdio(false);之前使用cin>>t.然后,对于相同的 i/p,o/p 0 0(在新行中(。

AFAIK:ios::sync_with_stdio(false);停止与c++c i/p o/p的同步,但我在这两种情况下都使用cin,为什么它不起作用?

此行为是实现定义的。

如果在标准流上发生 I/O 后调用此函数(此处指 sync_with_stdio(,则行为是实现定义的:实现的范围从无效果到销毁读取缓冲区。

相关内容

  • 没有找到相关文章

最新更新