a++,++a,不是算出的终值都是一样的么?
int a = 5;
int b = 5;
System.out.println("a++ 的值 : "+ a++);// 5
System.out.println("a 的值为 : "+a);// 6
System.out.println("a++ 的值 : "+ a++);// 6
System.out.println("a 的值为 : "+a);// 7
System.out.println("++b 的值为 : "+ ++b);// 6
System.out.println("b 的值为 : "+b);// 6
System.out.println("++b 的值为 : "+ ++b);// 7
System.out.println("b 的值为 : "+b);// 7
看下变化
最终是一样的,不过在过程当中是不一样的
比如:
int a = 1; int b = 1; int m,n; m = a++; printf("m = %d\n", m); n = ++b; printf("n = %d\n", n);
以上这个小程序打印的结果是 m = 1; n = 2;为什么会出现这种情况呢,是因为a++是先赋值后运算,而++a是先运算后赋值