宏的学习


宏的学习


宏的基本概念

#define命令是C语言中的一个宏定义命令,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本。该命令有两种格式:一种是简单的宏定义,另一种是带参数的宏定义。

  • (1) 无参数宏定义:
    #define <宏名>  <字符串>
    例: #define PI 3.1415926

  • (2) 带参数的宏定义
    #define <宏名> (<参数表>) <宏体>
    例: #define A(x) x

+(3)用于条件编译:
(常用形式) #ifndef _AAA_H #define _AAA_H

找到了一篇讲的很好的宏定义#define的用法的文章

宏定义中容易出错的问题

  • 标识符的命名必须合法
  • 标识符应当有足够清楚的名字以方便阅读代码
  • 宏所带表的是宏体中的整体,而不是宏体所计算出的值,所以我们应该注意在编译之后所出现的运算顺序问题,一般解决办法是打括号
    *但是当括号的数量过大,就容易多或少(尤其是没有自动检查的IDE)

任务

#define N(x,y) ( (x/y)*y ) //第一三题同一解
#define M(x,y) ( ((x/y)+1)*y )//第二四题同一解

确实没有知道在本题中优化算法可以用在哪,算2^n倒是可以用二分法


文章作者: V.Ming
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 V.Ming !
  目录