-6
执行我得到的输出为12 6 11.请解释这怎么可能请帮忙解释一下这个C程序的输出
#include<stdio.h>
#define MAN(x,y) (x)>(y)?(x):(y)
int main()
{
int i = 10,j = 5,k = 0;
k = MAN(i++,++j);
printf("%d %d %d", i, j, k);
return 0;
}
问问你的朋友https://stackoverflow.com/questions/44770563/c-macros-and-variable。 – Stargateur
做预处理器做的事情:用它的定义替换宏,在每次出现x和++ j时为y写入i ++。那么你会很快看到... – Aconcagua