可能重复:
C 中以下宏的副作用是什么?嵌入式 C
以下将是什么输出:
#include <stdio.h>
#define MAN(x,y) ((x) < (y))?(x):(y)
main()
{
int i=10,j=5,k=0;
k= MAN(i++,++j);
printf("%d %d %d" ,i,j,k);
}
在这里,我认为将调用 MAN(10,6) 并且输出将是:
11 6 6
但是输出是
11 7 7
有人可以解释一下吗。