<分区>
所以我明天要考试,我在做题时遇到了这个问题。
#define mul(x,y) (x * y)
#include <stdio.h>
#include <string.h>
int main()
{
int x = 3;
int y = 4;
int z = 0;
z = mul(x+1, y+1);
printf("4 * 5 = %d \n", z);
return 0;
}
我的问题是,为什么输出 8 而不是 20。
因为当我将 z= mul(x+1,y+1)
替换为 z= mul((x+1),(y+1))
时,我得到了正确答案 20