i++ i-- ++i --i 这4个的区别是什么
main()
{
int i=8;
printf("%d\n",++i);//输出9 ++在前先+1再输出
printf("%d\n",--i);//输出7
printf("%d\n",i++);//输出8 ++在后先输出再+1;
printf("%d\n",i--);//输出8
}
个人理解的:i++和++i,自减的类比可得:
比如:var i=5;
(1)var j=i++;然后输出i和j
i=6;j=5;
(2)var j=++i;然后输出i和j
i=6;j=6;
对比可以看出前置的是在执行当前语句之前完成自增,后置的是执行当前语句只会完成自增。输出的时候因为都完成了那个语句,所以i都增加到了6,但是(1)中是j赋值在增加之后,所以为5,(2)中j赋值在增加之前,所以为6。
“++”和“--”就是自加自减的意思
放在前就先运算再执行
放在后面就是先执行再运算