黑马程序员技术交流社区

标题: 宏定义特点之二 [打印本页]

作者: lvguodong    时间: 2015-10-6 00:24
标题: 宏定义特点之二
  1. #include <stdio.h>
  2. #define n 6              //宏定义
  3. #define m(h,i) h*i       //宏定义
  4. #define o(h) h*h         //宏定义
  5. #define p(h) (h)*(h)     //宏定义
  6. int main()
  7. {
  8.     printf("n=%d\n",n);
  9.     printf("n+100=%d\n",n+100);
  10.     printf("n\n");      //用双引号括起来不做宏替换
  11. #undef n                 //结束作用域被替换的内容
  12.     {
  13.         int n=99;
  14.         printf("n=%d\n",n);
  15.     }
  16.     int a=m(2,3);       //等价于int a=2*3;
  17.     printf("a=%d\n",a);
  18.     int b=o(5);         //等价于int b=5*5;
  19.     printf("b=%d\n",b);
  20.     int c=o(5+6);       //等价于int c=5+5*6+6;
  21.     printf("c=%d\n",c);
  22.     int d=p(5+6);       //等价于int d=(5+6)*(5+6)
  23.     printf("d=%d\n",d);
  24.     return 0;
  25. }
复制代码







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2