1.宏和函数的区别

    宏参数只是做简单的字符串替换,而函数是有参数类型的。

    宏在编译之前进行,即先用宏体替换宏名,然后再编译的,而函数显然是编译之后,在执行时才调用的。因此,宏占用的是编译的时间,而函数占用的是执行时的时间。

    如果是较为短小的宏,在程序中的实现会比函数容易,但如果是较为长的宏,每次调用宏时都要将宏原份做字符串替换,所以会显得重复,这是就显得函数较为好用了,因为函数是做值传递,所以不会重复出现。

    #define中不能出现自己,即不能出现递归,但函数就可以实现递归。

 下图有份直观的表,大家可以借鉴一下:

宏

2.使用宏实现两个数中求较大值。 

宏宏

3.

写一个宏可以将一个数字的奇数位和偶数位交换。

宏

执行结果如下:

宏

希望对大家有所帮助.