`
xinklabi
  • 浏览: 1586818 次
  • 性别: 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语言笔试常见的考点,考生需要熟练掌握,并能在实际编程中灵活运用。通过对这些...

Global site tag (gtag.js) - Google Analytics