【C++】关闭cin,cout流同步的注意事项
通过如下语句关闭cin
,cout
流同步后,
ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
之后的输出就只能使用cout
来输出,不能混用C语言的输出函数如printf
、puts
等等,否则输出的顺序会被打乱。
总之:要么全使用C语言风格的输出函数输出,要么全用C++的cout
输出。
debug两小时得出的教训。。。
错误案例
if (n % k) puts("NO");//不能puts与cout混用,要么全用puts,要么全用cout
else
{
dfs(1);
cout << (res == n / k ? "YES" : "NO") << '\n';
// if (res == n / k) cout << "YES" << '\n';
// else cout << "NO" << '\n';
}
正确写法1
全用C语言风格的输出函数,如puts
或者printf
,(C语言风格的输出函数可以混用,即puts和printf可以混用,但不能和C++风格的cout混用)
if (n % k) puts("NO");
else
{
dfs(1);
if (res == n / k) puts("YES");
else puts("NO");
}
或者
if (n % k) printf("NO\n");
else
{
dfs(1);
if (res == n / k) puts("YES");
else puts("NO");
}
正确写法2
全用cout输出
if (n % k) cout << "NO" << '\n';
else
{
dfs(1);
cout << (res == n / k ? "YES" : "NO") << '\n';
}
分类:
C++STL/库函数用法
标签:
C++
, cin/cout关闭流同步
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具