解释下这个C程序

来源:百度知道 编辑:UC知道 时间:2024/05/04 01:44:21
#include<stdio.h>
void main( )
{
int i=8;
printf("%d\n",++i);
printf("%d\n",--i);
printf("%d\n",i++);
printf("%d\n",i--);
printf("%d\n",-i++);
printf("%d\n",-i--);
}
结果为9 8 8 9 -8 -9 为什么啊?
我很菜大家麻烦下了

=8

第一个:++i=8+1=9

第二个:此时i=9 - -i=9-1=8

第三个:此时i=8 i++=8+1=9

(关键是这里了,记住++i是想计算后赋值,

而i++是先赋值后计算,所以这printf的是8)

第四个:此时i=9 i- -=9-1=8 (同上理先赋值后计算.他要输出9)

第五个:此时i=8 -i++=-(8+1)=-9 (同上理先赋值后计算,他要输出-8)

第六个:此时i=9 -i- -=-(9-1)=-8 (同上理先赋值后计算,他要输出-9)

晕,这个问题这么简单,自己看一下书就懂了……