全部评论 9

  • 🔍 为什么 #include<bits//stdc++.h> 能工作?
    . C/C++ 预处理器对路径的处理
    在 #include 指令中,路径中的 // 会被文件系统或预处理器视为 单个 /(因为 POSIX 文件系统中 // 等价于 /,尽管语义略有不同,但多数系统会规范化路径)。
    所以 bits//stdc++.h ≈ bits/stdc++.h
    . GCC 的 #include 实现宽松
    GCC 的预处理器在解析头文件路径时,对多余的 / 不敏感。
    它会尝试将路径标准化,因此 a//b.h → a/b.h
    ✅ 实测:在 Linux/macOS/Windows (MinGW, WSL) 上,#include<bits//stdc++.h> 通常能成功包含 <bits/stdc++.h>

    2026-02-15 来自 浙江

    2
  • 建议还是第一种写法,不然其它评测机可能就编译不了了

    2026-03-10 来自 广东

    1
    • 确实,但是我的意思是第二种很“神奇”

      2026-03-12 来自 浙江

      0
  • 当路径字符串中出现空格时(如 bits //),预处理器会将空格后的内容(//)视为注释的开始,导致路径被截断为 bits。此时编译器尝试查找名为 bits 的文件(而非目录),但标准库中只有目录 bits/,因此报错 cannot open source file

    2026-02-15 来自 江西

    1
    • 主要是我不报错

      2026-02-15 来自 浙江

      0
    • 6

      2026-02-15 来自 江西

      1
    • 但是,我还是谢谢你

      2026-02-15 来自 浙江

      0
  • 来个三连吧,来个三连吧,来个三连吧!!!

    2026-02-14 来自 浙江

    1
  • 来个三连吧,来个三连吧,来个三连吧!!!

    2026-02-14 来自 浙江

    1
  • #include"bits/stdc++.h"
    

    也可以

    5天前 来自 浙江

    0
  • ???

    2026-02-15 来自 江苏

    0
  • 话说你这个打字是怎么搞的,不会是滥用标题吧

    2026-02-14 来自 广东

    0
  • 我去第一次知道

    2026-02-14 来自 广东

    0

热门讨论