我不明白怎么计算出来的结果

img

这个跟编译器有关,,不同的编译器执行顺序有差别。
p应该没疑问,主要是q。
这个q的计算顺序是:先计算了两次++j,j=7,然后执行j+j=14,再执行++j,j=8,在执行8+14= 22.
这种逻辑比较诡异。
一般正常的逻辑是:
i=5,j=5
p = (i++)+ 这里,先计算p = i+i+i =15,然后计算三次i++,i= 8
q=(++j)这里,先计算三次j++,j=8,然后计算q = j+j+j = 24