区别1:
n-1后,n的值不变
n--后,n的值减1
--n后,n的值减1
区别2:
将值赋值给另一个参数m后
m=n-1,m的值为n-1
m=n--,m的值为n
m=--n,m的值为n-1
从表面看,可以理解为目前就这两种区别
n-1简单明了,很简洁易懂,不多解释
n--是在运算结束后,n值减小1,因此计算m=n--的时候,先将n的值赋值给m,然后n再减1,所以m的值为n,n的值为n-1
--n是在运算开始前,n值减小1,因此计算m=--n的时候,先将n的值减1,这样n值为n-1,然后在将n的值赋值给m,这样m的值也为n-1
目前个人觉得理解到这里就可以了
至于为什么有n--和--n,而不用n-1,那是因为n--和--n在计算机里的操作比n-1要快,你学下去,就会明白
减了。你可以自己写个程序试一下,比如:#include <stdio.h>
int main(int argc, char *argv[])
{
int n=10
while(n--)
printf("%3d",n)
printf("\n")
return 0
}
(1).自右向左运算(2).我们假设n=2,先算n*n即n-=4
(3).目前n=2,则n-=4为n=n-4,那么n=-2
(4).n+=-2,又因为(3)中n的值已经变成了-2,那么n=n-2=-2-2=-4
关键有两个地方,一是自右向左运算,二是在(3)的时候n的值也变成了-2,不知道这样解释你明白没。