在哪种情况下这个宏会导致错误?

时间:2015-05-23 14:45:17

标签: c macros c-preprocessor

考虑以下宏

#define SQ(x) ((x) * (x));

在哪种情况下使用此宏会导致错误?

1 个答案:

答案 0 :(得分:2)

在其参数在评估时具有副作用的情况下。例如,SQ(i ++)是未定义的行为。