sub中的参数int a 是按值调用,所以sub中的a只是一个副本,你在sub中对参数的任何赋值都不会影响参数本身,执行完sub(a++)后,a会加1,所以输出结果会是 2 4 6 8 10注:当a为8输出后,遇到循环条件a<10成立,所以a++变为9,之后再遇到sub(a++),a变为10就会输出。