public class Demo{ public static void main(String [] args){ int num=2; System.out.println(num++);//后置加加,先打印后加 2 System.out.println(num); System.out.println(++num);//前置加加,先加后打印 4 System.out.println(num); int num1=4; int result=num1++;//先赋值给result后num自…
起源: 今天在了解副作用side-effect的过程中,看到了下面的网页,把我带到了由printf引起的一系列问题,纠结了一整天,勉强弄懂. 第一个代码没什么好解释的.而第二个printf("return of swap is %d\tx=%d,y=%d\n",swap(&x,&y),x,y)居然是"return of swap is 1 x=1,y=0",输出的x和y的值并没有改变! 原因在于C语言函数参数的处理是从右到左的压栈顺序(这个我在看第一…