C语言 带参数的宏定义C语言 带参数的宏定义

C语言 带参数的宏定义

注意区分宏定义函数和普通函数定义的区别:

C语言 带参数的宏定义C语言 带参数的宏定义

 C语言 带参数的宏定义C语言 带参数的宏定义

宏定义中表达式的参数要加括号,否则可能会出错(运算的优先级):

C语言 带参数的宏定义C语言 带参数的宏定义

C语言 带参数的宏定义

同理计算的优先级问题还可以出现的main()函数中表达式中:

C语言 带参数的宏定义

所以一般是不建议利用宏定义来表示太多的计算表达式,很可能会出现表达式计算错误。

 C语言 带参数的宏定义C语言 带参数的宏定义

C语言 带参数的宏定义

 

相关文章: