`
xinklabi
  • 浏览: 1591766 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
文章分类
社区版块
存档分类
最新评论

C语言中#line 宏说明

 
阅读更多

c语言里有个很少用到的宏 #line,这个宏通常是和__LINE__宏一起使用的,__LINE__宏表示当前c语句在源文件中的行数,以前也只是在书上看到过,写过一些实例小程序,实际应用中并无使用。

       好了,废话不说,举个例子来说明 #line宏的使用:
       1:#include "iostream"
       2:#line 100
       3:using namespace std;
       4:
       5:int main(int argc, char* argv[])
       6:{
       7:cout<<"__LINE__:"<<__LINE__<<endl;
       8:
       9:   return 0;
       10: }
        输出结果是:__LINE__:104
        本来应该是输出:__LINE__:7,因为“cout<<"__LINE__:"<<__LINE__<<endl;”语句在第7行;
但是有了#line 100 ,则从“#line 100”所在行的下一行被认为是第100行,所以输出的行号是104了。
分享到:
评论

相关推荐

    C语言常见错误中文解释

    在C语言编程中,开发者可能会遇到各种各样的错误提示,这些错误提示往往包含了丰富的信息,帮助开发者定位问题并解决问题。本文将对一些常见的C语言错误进行详细的解释,并提供可能的解决方案。 #### Ambiguous ...

    C语言错误大权,有效排错

    ### C语言错误大全:有效排错指南 #### 1. Ambiguous operators need parentheses — 不明确的运算需要用括号括起 - **问题说明**:当编译器无法确定运算符的作用顺序时,需要使用括号来明确优先级。 - **解决方法*...

    C语言符号、指令表.pdf

    注释是代码中用于解释说明的部分,它们不会被编译器执行。C语言提供了两种注释方式,单行注释使用//,多行注释使用/***/。 基本数据类型在C语言中同样重要,包括int、float、double、char和void。这些基本类型定义...

    python读取C语言头文件测试用例,参考博客,有详细说明

    首先,C语言的头文件主要包含了函数声明、数据类型定义、宏定义等信息,这些信息在Python中可能需要通过文本处理技术来解析。Python的标准库`os`和`re`(正则表达式)可以帮助我们完成这个任务。`os`库用于读取文件...

    C语言程序设计帮助手册.pdf

    - **预定义宏**: 如 `__LINE__`、`__FILE__`、`__DATE__`、`__TIME__` 等,由编译器提供。 - **编译器指令**: 如 `#pragma`,用于提供编译器特定的指令。 #### 调试和测试 - **调试技巧**: 使用调试工具、打印调试...

    C_语言专题_预编译和宏定义.doc

    在C语言编程中,预编译处理是编译过程的一个重要组成部分,它在真正的编译开始之前执行一系列特殊的任务,包括宏定义、文件包含和条件编译等。预编译处理能够提高代码的复用性和可维护性,同时也是实现条件编译的...

    c语言源程序常见错误分类及其改错

    例如,“Bad call of in-line function”表示在调用内联函数时,没有按照正确的语法执行,这通常涉及到宏定义的使用。解决方法是检查宏定义和函数调用,确保它们的语法正确。另外,“Irreducible expression tree”...

    C语言1000实列

    描述 "c语言经典百例编程" 强调了这些实例在C语言学习中的重要性和经典性,意味着它们涵盖了C语言的基础到高级概念。 标签 "C 语言 编程 实例" 明确了主题,这些实例涵盖了C语言的编程实践,可能是从基本的数据类型...

    C语言编译原理

    - **宏展开**:将源代码中的宏定义(如`#define`)展开,替换相应的内容。 - **文件包含**:处理`#include`指令,将头文件的内容插入到源文件中。 - **条件编译**:处理`#ifdef`、`#ifndef`等指令,根据宏定义...

    C语言版潮流计算程序

    `void Data_Input(int *pNum_Line, int *pNum_Gen, int *pNum_Load, double *pEps, int *pIter_Max, int *pVolIni_Flag, int *pVolRes_Flag)`:该子程序负责读取数据文件中的关键信息,如线路数、发电机节点数、负荷...

    C语言预处理命令总结[定义].pdf

    ANSI标准定义的C语言预处理命令包括#define、#error、#include、#if、#else、#elif、#endif、#ifdef、#ifndef、#undef、#line、#pragma等。 1. #define命令 #define命令用于定义一个标识符及一个串。在源程序中,...

    c语言第二版 英文的

    - **行计数** (1.5.3 Line Counting):通过C语言统计文本文件中的行数。 - **单词计数** (1.5.4 Word Counting):介绍如何统计文件中的单词数量。 - **数组** (1.6 Arrays):讲解数组的概念、声明与初始化、访问...

    c语言经典900例

    宏在C语言中用于代码预处理,能实现常量定义、函数式宏等,是提高代码效率和可维护性的工具。 4. **ARRAYS**:数组是C语言基础数据结构之一,这个目录下可能包含各种关于数组操作的实例,如一维数组、二维数组、...

    你必须知道的495个C语言问题

    *2.5 在C语言中是否有模拟继承等面向对象程序设计特性的好方法? 2.6 为什么声明externf(structx*p);给我报了一个晦涩难懂的警告信息? 2.7 我遇到这样声明结构的代码:structname{intnamelen;charnamestr[1];}...

    《你必须知道的495个C语言问题》

    《你必须知道的495个C语言问题》以问答的形式组织内容,讨论了学习或使用C语言的过程中经常遇到的一些问题。书中列出了C用户经常问的400多个经典问题,涵盖了初始化、数组、指针、字符串、内存分配、库函数、C预...

    C语言教程——学习C语言最实用、简短的教程了

    - **2.7.1 表达式中的类型转换**:当表达式中出现不同类型的数据时,C语言会自动进行类型转换,以确保运算的正确性。 - **2.7.2 构成符cast**:使用括号和数据类型进行显式类型转换,如`(int)3.14`将浮点数转换为...

    全国计算机等级考试二级C语言笔试题库50套.pdf

    以下是从提供的【部分内容】中提取的知识点详细说明: 1. 数据类型及变量定义:C语言中对变量的定义以及不同数据类型的使用是基础知识点。例如,char型变量和int型变量的定义,以及指针数组的定义和使用(char*line...

    9月计算机等级考试二级C语言笔试真题及答案.pdf

    12. 编译预处理指令:C语言中的编译预处理指令允许程序在编译之前对源代码进行处理,如包含头文件#include和宏定义。 以上知识点是C语言笔试常见的考点,考生需要熟练掌握,并能在实际编程中灵活运用。通过对这些...

    优秀C语言程序员开发之路-经验

    在C语言中,预编译处理命令是在编译之前执行的一系列文本替换操作,它们并不参与程序的实际逻辑,而是作为编译器预处理阶段的一部分来增强代码的可读性和可维护性。 1. **`#define`**: - **功能**:用于定义宏,...

Global site tag (gtag.js) - Google Analytics