j--
出现在表达式中时,j
会以当前值参与表达式运算中,最后才自减1.
--j
出现在表达式中时,j
会先自减1,然后以减1后的值参与到表达式运算中。
++
也如此。
例如:
j
=
3
i
=
--j
//
i
的值为
2,
j
为2
//
i
=
j--
//
i
为3,
j
为2
j减去1,与j--不同在于,前者当前运算时已经减一,而后者是当前运算没有减j = 2
a = --j// a = 1
b = j--// b = 1,前面j已经为1,当前的j--事后生效
在c语言中,如果是已有:i=5j=5i++,j--与
++i,--j
在效果上是并没有什么区别的。
如果是
printf("%d %d",i++,j--) 的输出是5 5(这是先取用,再自增)
而printf("%d %d",++i,--j) 的输出是6 4(这是先自增,再取用)