我定义了下面的max宏
#define max(a,b)(a>b?a:b);
在 main() 中我正在做以下事情
int t,a,b,c,d;
t=max(a,b)+max(c,d);
但结果并不如预期。t 只显示 a 和 b 中的最大值。 可能是什么问题?
最佳答案
这就像写:
t = (a>b?a:b);+(a>b?a:b);
(检查预处理器输出)
从 define 中删除 ;
。
关于c++ - #define 怀疑...为什么会出现这种行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19844527/