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