MST
星途 面试题库

面试题:C语言中如何定义一个简单的宏函数并说明其使用场景

请用C语言定义一个宏函数,该宏函数接受两个整数参数,返回它们中的较大值。并简要阐述宏函数在哪些场景下比普通函数更适用。
17.2万 热度难度
编程语言C

知识考点

AI 面试

面试题答案

一键面试
#define MAX(a, b) ((a) > (b) ? (a) : (b))

宏函数在以下场景比普通函数更适用:

  • 性能敏感场景:宏函数在预处理阶段展开,不会产生函数调用开销,对于频繁调用且代码量小的操作,如简单的数学计算、比较操作等,使用宏函数可提高程序执行效率。
  • 代码简洁性需求高场景:当需要在多处使用简单表达式,宏函数通过文本替换展开,可使代码更简洁直观,减少代码冗余。
  • 参数类型无关场景:宏函数不关心参数类型,只要操作符对参数类型合法,可用于不同类型参数,比普通函数更具通用性。