读书人

一道笔试题关于i++,该怎么处理

发布时间: 2012-03-11 18:15:38 作者: rapoo

一道笔试题关于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
[解决办法]
++的优先级大于*,先做++的。

读书人网 >C语言

热点推荐