锻炼记忆力的手机游戏:这个简单的程序我有些看不明白,请哪位大虾指点一下

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/02 03:00:51
#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 为什么啊?

i=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)

i++是先取i的值,再将i加1
++i是先将i加1,再取i的新值。
i--和--i同理。

printf("%d\n",++i); 先i=i+1,再输出
printf("%d\n",i++); 先输出,再i=i+1