示例:如下用法可能导致错误。
#define SQUARE( a ) ((a) * (a))int a = 5;int b;b = SQUARE( a++ ); //结果:a = 7,即执行了两次增1。 正确的用法是:
b = SQUARE( a );a++; //结果:a = 6,即只执行了一次增1。其他
示例:如下用法可能导致错误。
#define SQUARE( a ) ((a) * (a))int a = 5;int b;b = SQUARE( a++ ); //结果:a = 7,即执行了两次增1。 正确的用法是:
b = SQUARE( a );a++; //结果:a = 6,即只执行了一次增1。其他
本文标题:1.28、规则:使用宏时,不允许参数发生变化。
本文链接:https://www.haomeiwen.com/subject/wfwmjttx.html
网友评论