国际访客建议访问 Primers 编程伙伴 国际版站点 > C 教程 > 行号修改指令 以获得更好的体验。

# C 语言的预处理行号修改指令 #line

行号修改指令(#line)可以更改当前行的行号及文件名。格式为:

#line 行号
#line 行号 "文件名"

例如:

#include <stdio.h>

int main(void)
{
    printf("当前位置 %s:%d\n", __FILE__, __LINE__);

    // 仅修改行号
    #line 100
    printf("当前位置 %s:%d\n", __FILE__, __LINE__);

    // 修改行号和文件名
    #line 200 "custom.c"
    printf("当前位置 %s:%d\n", __FILE__, __LINE__);

    return 0;
}

运行结果:

当前位置 main.c:5
当前位置 main.c:100
当前位置 custom.c:200

# 推荐阅读

# 参考标准

  • C17 standard (ISO/IEC 9899:2018):

    • 6.10.4 Line control (p: 126)

  • C11 standard (ISO/IEC 9899:2011):

    • 6.10.4 Line control (p: 173)

  • C99 standard (ISO/IEC 9899:1999):

    • 6.10.4 Line control (p: 158)

  • C89/C90 standard (ISO/IEC 9899:1990):

    • 3.8.4 Line control

本文 更新于: 2025-11-27 09:38:06 创建于: 2025-11-27 09:38:06