解释下这个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 为什么啊?
我很菜大家麻烦下了
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)
晕,这个问题这么简单,自己看一下书就懂了……