这个涉及到一个函数参数执行顺序的问题,如果函数有多个参数,它的执行参数是由右向左执行的,举个基本例子 int a = 10; printf("testfun:%d %d", ++a, --a); 你会发现它是先计算--a 再计算++a。z=func(func(x++,y++),func(--x,--y)); 先计算执行func(--x,--y),再func(x++,y++) ,答案肯定是2个11了