一道笔试题关于i++
#include <stdio.h>
#define product(x) (x * x)
int main()
{
int i = 3, j, k;
j = product(i++);
k = product(++i);
printf("%d, %d\n", j, k);
return 0;
}
帮我仔细解释一下运行结果!
[解决办法]
i++:先使用i的值后进行两次自增运算,i=5;结果为9
++i:先进行两次自增运算最后i=7;然后再进行乘法运算,结果为49
[解决办法]
++的优先级大于*,先做++的。