i++与++i都是对i进行自增加一。
如果单独使用,即不对变量进行赋值操作,则效果相同。假设x=i++,则该语句先执行x=i,再给i自增加一。假设x=++i,则先对i自增加一然后再将i的值赋给x。赋值时能够看出两者的区别。
以下给出一道二级考试例题(C)
#include<stdio.h>
int main(){
int x=8;
for(x=8;x>0;x--)
{
if(x%3)
{
printf("%d\n",x--);
continue;
}
printf("%d\n",--x);
}
return 0;
}
该代码中出现了A语句:printf("%d",--x)和B语句:printf("%d",x--)。
这两句结果和赋值操作中的结果一样,A句是先对x进行自减,然后再输出。B句是先输出x的值,再对x自减。