前言
C语言中,要想解决某子问题,可以自定义一个函数来专门处理该问题,比如:我想比较两个数的大小,那么我可以地定义一个函数max来完成两个数求最大值功能。但是,C语言中我们也可以通过宏定义来定义一个求最值的函数MAX,然后通过使用带参宏来完成最大值的求解。那么问题来了,两种方式都可以定义一个求最值的函数,那他们有什么区别了?两者有啥优缺点呢?本文则针对以上问题进行说明和总结。
一、 带参宏 和 函数 概念引入?
#include#define MAX(a, b) ((a) > (b) ? (a) : (b))//宏定义最大值函数 int max(int x,int y)//自定义求最值函数 { return x>y?x:y; } int main() { printf("宏定义中两数最大值为:%dn",MAX(8,99)); printf("自定义函数中两数最大值为:%dn",max(55,3)); return 0; }
代码运行结果展示:
两个方法都可以达到求最值的目的,那么两者有何区别?有何优缺点?
二、带宏参 和 函数 的区别和优缺点:



