A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© liu01230 中级黑马   /  2015-5-11 23:02  /  661 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

宏是用来定义一个标示符并把这个标示符替换。
一、无参数的宏的定义:
        #define  标示符  需要替换的字符串  (后面不能写分号)
        注意点:
        1、宏之间可以相互调用
        2、宏的作用域是从定义开始到程序结束的,如果需要终止宏定义的作用域,可以用#undef命令。

  1. #include <stdio.h>
  2. #define π 3.14
  3. #define R 10
复制代码
二、有参数的宏的定义:
        #define  宏名(参数列表)   字符串
        注意点:
        1、宏名和参数列表之间不能有空格,否则空格后面的所有字符串都作为替换的字符串。
        2、有参数的宏定义时最好把参数和运算结果都括起来,不括起来的话得到的可能不是想要的结果。
  1. #include <stdio.h>
  2. #define sum(a) a+a
  3. int main()
  4. {
  5.     printf("%d\n", sum(4)*8);  //输出结果为36,并不是我们想要的64。这是因为我们没有把a+a用小括号括起来。结果sum(4)*8就被替换成了4+4*8。
  6. }
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马