积累一些不太常用的C/C++语言知识(不断更新)

这里积累一些日常编程用得比较少的知识,不断添加。

  • scanf("%c%*c%c",&a,&b); 其中的*表示跳过,本来输入三个数字,结果中间那个读入后被抛弃,a和b的值分别是第一次和第三次输入的值。
  • printf("%d%*d%d",a,b,c,d); 其中*表示占位,相当于printf("%d%bd%d",a,b,c,d);注意这里的b就相当于我们平时用的占位数。
  • printf("%#x",a); 其中#表示格式化的前缀,比如十六进制会加上0x,八进制会加上0。
  • c++ std::cin关闭同步流:std::ios::sync_with_stdio(false); 可以使其与scanf读取速度相差不太大(关闭同步流之后,不要同时混用cout和printf );进一步可以使用std::cin.tie(0);解除cin和cout的绑定。这种做法通常用于减少大量数据占用的IO时间,但是本人测试过,有一些个例的数据量在万以上时,两者差距仍然在5倍以上(个例参见敌兵布阵问题)。
    
    
     

 

posted @   xiaoxi666  阅读(414)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
TOP
点击右上角即可分享
微信分享提示