Maple丶小枫 发表于 2017-7-26 11:16:19

自加自减

#include <stdio.h>

void main()
{
        int i=5,j=5, p, q;
        p = (i++) + (i++) + (i++);
        q = (++j) + (++j) + (++j);
        printf("%d, %d, %d, %d\n", p, q, i,j);
}
出来的答案是15 22 8 8
p q怎么算 求解!!!

Riemann_ 发表于 2017-7-26 12:43:33

p那个很简单,i++的形式,i的自加是在i之间的加号执行之后的(三个自加都是)(5+5+5);
q是先执行前两个j自加,再相加,最后加上第三个j自加后的值(7+7+8);
至于i,j的最终结果一定都是8。
你可以换个数执行检查一下这个顺序对不对!

ba21 发表于 2017-7-26 12:48:08

本帖最后由 ba21 于 2017-7-26 13:00 编辑


引用楼上:p那个很简单,i++的形式,i的自加是在i之间的加号执行之后的(三个自加都是)(5+5+5);

页: [1]
查看完整版本: 自加自减