• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

C语言文件中的预处理操作符#和##各有什么作用?

捷波 2018-08-09 浏览量:1076
C语言文件中的预处理操作符#和##各有什么作用?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • #后面跟预处理指令

    ##是连接两个宏的连接符

    • 发布于 2018-08-09
    • 举报
    • 评论 0
    • 1
    • 0

其他答案 数量:18
  • 双井号##是连接符,比如连接宏

    单井号是宏定义,将后面跟的参数转为字符串

    • 发布于2018-08-10
    • 举报
    • 评论 0
    • 0
    • 0

  • ##是连接符,作为两个宏之前的连接符;一个#就是预处理命令,编译工具在编译时会先处理这个。
    • 发布于2018-08-10
    • 举报
    • 评论 0
    • 0
    • 0

  • 参考 https://blog.csdn.net/baidu_33850454/article/details/79363033

    1个是变成字符串

    #define STR(s)     #s
    
    printf("int max: %s\n"  STR(abc));    
    // 等效于 printf("int max: %s\n"  "abc" ); 


    2个是连接起来形成新字符串,如果连接中的是宏定义中变量值,则展开,不是的则作为普通字符处理,比如

    #define CONS(ab)  int(a##e##b)

    CONS(105) ;
    // 展开为 int( "10e5" )

    • 发布于2018-08-10
    • 举报
    • 评论 1
    • 0
    • 0
xdsnet 回复了 xdsnet :还是吃逗号问题啊 回复

  •  #是预处理命令,##是两个宏的连接符
    • 发布于2018-08-10
    • 举报
    • 评论 0
    • 0
    • 0

  • 一个是宏定义

    一个是连接符

    这个玩溜了一个工程设置一个配置函数可以编译出不同的程序来.

    • 发布于2018-08-10
    • 举报
    • 评论 0
    • 0
    • 0

  • #声明宏定义

    ##用来连接字符串

    • 发布于2018-08-10
    • 举报
    • 评论 0
    • 0
    • 0

  • #是预处理命令,##是两个字符串的连接符
    • 发布于2018-08-10
    • 举报
    • 评论 0
    • 0
    • 0

  • 单个#接的是预编译指令

    两个##是连接符

    • 发布于2018-08-13
    • 举报
    • 评论 0
    • 0
    • 0

  • #是预处理命令

    ##是两个宏的连接符

    这两个是不同的指令

    • 发布于2018-08-19
    • 举报
    • 评论 0
    • 0
    • 0

  • #是预处理指令,像#define #pragma

    ##是连接符,像 a##b

    • 发布于2018-08-31
    • 举报
    • 评论 0
    • 0
    • 0

  • #表示预处理指令符,后面跟预处理指令
    ##表示连接符,两边放需要连接的数据

    • 发布于2018-09-09
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

C语言文件中的预处理操作符#和##各有什么作用?