对i++,i--,++i,--i的易解,在此举一例子详解:
main( )
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
![](/Images/OutliningIndicators/InBlock.gif)
int x,y,z;
![](/Images/OutliningIndicators/InBlock.gif)
x=y=2;z=3;
![](/Images/OutliningIndicators/InBlock.gif)
y=x++-1;
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
printf("%d\t%d\t",x,y); /**//*x=3,y=1,后置++,先把x赋值给y,再做运算,而x的值无论是前还是后置都加1*/
![](/Images/OutliningIndicators/InBlock.gif)
y=++x-1;
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
printf("%d\t%d\t",x,y);/**//*x=4,y=3,前置++,先把x加1后赋值给y,然后做运算(此行x初值是上行的终值=3)*/
![](/Images/OutliningIndicators/InBlock.gif)
y=z--+1;
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
printf("%d\t%d\t",z,y); /**//*z=2,y=4,同上理可知*/
![](/Images/OutliningIndicators/InBlock.gif)
y=--z+1;
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
printf("%d\t%d\t",z,y); /**//*z=1,y=2,同理可证*/
![](/Images/OutliningIndicators/InBlock.gif)
getch();
}