You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写可同时被C编译器与Python解释器执行的Hello World代码?

同时兼容C编译器与Python解释器的"Hello World"实现

你的两种尝试的问题分析

  • 第一种写法:C编译器会解析#else块中的Python代码,print("Hello, World!")和exit()不是合法的C语法,直接触发编译错误;Python解释器则会把#if __STDC__视为单行注释,但后续的#include <stdio.h>、int main()等C语法完全不符合Python规则,导致运行报错。
  • 第二种写法:C编译器不识别Python的三重双引号注释,""""会被判定为语法错误;虽然Python能正常执行,但C端完全无法编译通过。

可行的兼容代码

利用C和Python的注释特性差异,可以写出两边都能正常运行的代码:

/*/
print("Hello World!")
//*/
#include <stdio.h>

int main() {
    printf("Hello World!\n");
    return 0;
}

工作原理

  • C编译器视角:/* 开启多行注释,直到遇到 */ 才结束。而代码中的 //*/ 里,// 是C的单行注释,所以 */ 会被注释掉,因此print语句会被完整注释,编译器只处理后面的C代码,正常编译并输出"Hello World!"。
  • Python解释器视角:/*/ 会被当作一个未赋值的字符串字面量(Python允许单独存在的字符串,不会影响执行),//*/ 是Python的单行注释,后续的C代码全部被注释,解释器执行print语句输出内容。

内容的提问来源于stack exchange,提问作者NoNormalCreeper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 09:20:01