回复 楼主 Ice_clb
#include <stdio.h>
int main(void)
{
int i = 5, j = 2, p, q;
p = (i++)+(i++)+(i++);
q = (++j)+(++j)+(++j);
printf ("%d,%d,%d,%d",p, q, i, j);
return 0;
}是和编译器规则有关系么,我的答案是15,15,8,5
然后试着把2改成3之后,15,18,8,6
q = (++j)+(++j)+(++j);符合(3+1)+(5+1)+(7+1);