在线 C 编译器
零配置、开箱即用的在线 C 语言编译/运行环境:浏览器中即可编写与运行 C 代码,支持智能自动缩进、美观主题、复制与另存为下载;运行优先调用 Wandbox,若在线失败再回退本地模拟;离线状态将提示不可运行,避免误导。
核心特性
Monaco 编辑器、自动缩进(纯 JS)、撤销/重做、复制、另存为下载、明亮/暗色主题、侧栏输入输出与运行状态显示。
智能缩进
支持 if/for/while 单行体、do...while、switch/case、字符串/注释/预处理指令,避免常见误缩进。
数据与隐私
编辑内容保存在浏览器本地(localStorage)。另存为将下载到你的设备;提交到 Wandbox 的代码仅用于编译运行。
最大优势
- 方便快捷,无需下载,随时可用
- 可以一键复制,方便 OJ 做题提交
- 关闭标签页后代码不会丢失
- 可以一键自动缩进,解决缩进烦恼
- 界面美观,堪称完美,绝对细节
- 安全考量,无需担心代码泄漏
更多优势
- 纯前端 · 零安装:无需登录与插件,打开即用;PWA 支持可安装到桌面,图标为自适应 maskable。
- 离线友好:首次加载后,页面、图标与基础脚本会被缓存;断网仍可编辑、保存与分享链接(运行会提示当前不可执行)。
- 极速交互:Monaco 编辑器配合本地持久化,撤销/重做、复制、自动缩进响应迅速。
- 易用细节:文件名与脏标记、主题记忆、移动端 I/O 面板切换、动画和阴影统一,使用过程顺滑。
- 可靠最小集:默认不上传任何代码,只有点击“运行”时才调用远端;失败会回退到本地模拟,保障体验。
- 可分享与可复现:支持将代码压缩进链接(URL hash),一键复制给同学/同事,对方打开即还原。
使用帮助
- 打开 在线编译器,在编辑区域编写 C 代码。
- 左侧“输入 (stdin)”填入你的标准输入(可选)。
- 点击底部“运行”按钮:在线优先通过 Wandbox 编译/运行;若在线失败自动回退本地模拟;离线则弹窗提示不可运行。
- 需要排版可点击“自动缩进”;复制代码用“复制”,保存到本地用“另存为”。
- 切换“主题”可在明亮/暗色间切换;撤销/重做按钮会在可用时自动启用。
注意:若 Wandbox 暂不可用,输出区会提示已回退到“本地模拟”;若离线,将弹窗说明不可执行。
键盘快捷键
- 运行:Ctrl/Cmd + Enter
- 自动缩进:Ctrl/Cmd + I
- 另存为:Ctrl/Cmd + S
- 切换行注释:Ctrl/Cmd + /
- 命令面板:Ctrl/Cmd + Shift + P(Esc 关闭)
分享与协作
- 支持一键分享:将代码压缩进链接(URL hash),复制给同学/同事,对方打开即可还原。
- 分享增强:可选择是否包含“输入 (stdin)”与“测试用例”,便于复现实验环境;仅包含代码时使用精简链接。
- 打开分享链接后,页面会自动还原代码;若包含输入/用例,也会同步到 I/O 或测试面板中。
C Code Golf 赛事
- 提供每轮挑战题与每轮榜单/天梯榜页面,纯静态适配 GitHub Pages:
competition/index.html、competition/1.html、competition/rank/1.html、competition/rank/index.html。
- 排名与积分:每轮按代码字节数升序;若相同按提交时间先后。天梯积分=round(D × 最小字节/自身字节),第一名得满分 D,随提交动态变化。
- 提交流程:在分享弹窗选择“参赛”,首次填写参赛信息后,打开提交页复制代码并在 GitHub 新建
submissions/week-<n>/<handle>/solution.c 发起 PR;CI 自动更新 JSON 榜单。
常见问题(FAQ)
- Q: 是否支持 C++? A: 目前内置 C 语法高亮,打开 .cpp/.hpp 文件会自动切换至 C++ 模式;运行仍通过 C 的 Wandbox 编译器配置,可后续扩展。
- Q: 我的代码会丢失吗? A: 页面会将你的内容保存在浏览器的 localStorage;建议定期“另存为”进行备份。
- Q: 如何查看历史更新? A: 点击页面右下角“By C. He from ZJU | 版本号”,或在此处打开 CHANGELOG.md。
适用场景
- 课堂/培训演示:免安装、跨平台。
- 题解/算法草稿:快速验证小段代码逻辑。
- 示例/文档附带代码:一键运行和复制。