zoukankan      html  css  js  c++  java
  • #define及其用法

    #define    

     
      在#define中,标准只定义了#和##两种操作。#用来把参数转换成字符串,##则用来连接前后两个参数,把它们变成一个字符      串。
      
     1 #include<stdio.h>
     2 #define paster(n) printf("token"#n"=%d
    ",token##n)
     3 
     4 int main(int argc,char *argv[])
     5 {
     6     int token9=10;
     7     paster(9);
     8     return 0;
     9 }
    10 输出为:token 9 = 10
      无参宏定义的一般形式为:#define 标识符 字符串
     
      其中的“#”表示这是一条预处理命令。凡是以“#”开头的均为预处理命令。“define”为宏定义命令。“标识符”为所定义的宏名。“字符串”可以是常数、表达式、格式串等。
      例如: #define M (a+b) 它的作用是指定标识符M来代替表达式(a+b)。在编写源程序时,所有的(a+b)都可由M代替,而对源程序作编译时,将先由预处理程序进行宏            代换,即用(a+b)表达式去置换所有的宏名M,然后再进行编译。
     
      
     1 #include<stdio.h>
     2 #defineM(a+b)
     3 
     4 int main(intargc,char*argv[])
     5 {
     6     ints,a,b;
     7     printf("inputnumbera&b:");
     8     scanf("%d%d",&a,&b);
     9     s=M*M;
    10     printf("s=%d
    ",s);
    11 }
      带参的宏定义一般形式为:  #define 宏名(形参表) 字符串
      
     1 #include<stdio.h>
     2 #define MAX(a,b)((a>b)?(a):(b))
     3 
     4 int main(intargc,char*argv[])
     5 {
     6     intx,y,max;
     7     printf("inputtwonumbers:");
     8     scanf("%d%d",&x,&y);
     9     max=MAX(x,y);
    10     printf("max=%d
    ",max);
    11     return0;
    12 }
      
  • 相关阅读:
    oracle多表关联删除的两种方法
    T100——汇总错误消息显示
    T100——程序从标准签出客制后注意r.c和r.l
    本地DataGrip连接阿里云MySQL
    mysql for mac 上的安装及用DataGrip连接
    mac 上安装vue模版-D2 Admin
    Python 3.7版本关于json.dump失效
    设置第三方的SMTP服务
    Apache 配置代理服务
    PyCharm 通过Github和Git上管理代码
  • 原文地址:https://www.cnblogs.com/wangqw/p/4230915.html
Copyright © 2011-2022 走看看