++是加1运算符,放在变量的前或后有不同意思。
++i是先将i的值加1,再将加1后的值用于运算。
j++是用j的值进行运算,运算结束后将j的值加1。
比如这里m=++i; m就等于i加1后的值,是9
n=j++; n就等于j原来的值,是10
这个程序主要是想解释一下i++和++i的区别。
i++是先赋值再加1,++i是先加1再赋值。
运行m=++i后,i先加1,i值变为9,然后再赋值给m,即m=9;
运行n=j++后,j先赋值给n,即n=10,然后j的值再加1,j值变为11.
m=++i的意思就是m=i+1,i=i+1;
n=j++的意思就是n=j,j=j+1;
前缀自加运算符是自身加一后再赋给左值,就像第一个,后缀自加运算符就是先将自身的值赋给左值,然后自身再加一。。。所谓左值就是赋值符左边的变量,右边的变量称右值。。。
程序是定义4个整形变量i. j. m. n. 对i j 赋值8和9,然后是++i对先对i加1,然后赋值给m这时候m为10,然后下一行的赋值是j赋值给n,这时n为为10,然后j在加1,j为11。最后输出这4个数。
这个其实就是个++运算符的问题,++放在前面就是先给i加一了,放后面是+了,i的值还没有变;--运算符同样的道理。
m=++i;是指先让i自加1,然后把i的值赋给m。n=j++;则是先把j 的值赋给n,然后j 自加1。
这个程序的运行结果应该是i=9,j=11,m=9,n=10.