为什么这个数学不适用于 C 中的宏?
#include <stdio.h>
#define FOO 6
#define BAR 32
#define MULT FOO * BAR
main() {
int x = 28296;
int y = x / MULT;
printf("%d / %d = %d\n", x, MULT, y);
return 0;
}
结果是:
28296 / 192 = 150912
为什么不是147?如果我将变量“int mult”设置为等于 MULT,并在表达式 ( int y = x / mult
) 中使用该变量,它会按预期工作。