注册 登录
编程论坛 新人交流区

[求助]++,--问题。菜鸟求助~

tank266 发布于 2007-11-21 01:51, 929 次点击

#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。请帮忙一个一个说明下谢谢,
我的理解是9 7 8 8 -7 -9

7 回复
#2
RingFinger2007-11-21 09:42
我也想知道` 看这贴快落了` 顶一下`
#3
tank2662007-11-21 10:51

没人。。。

#4
米车阿里2007-11-21 11:00

这是前置++,--与后置++,--的问题,
前置++,--先加一后做运算
后置++,--先运算后做加一,

所以第一个++i,输出9,8先加1,在输出9,不知道这样说是不是明白

#5
beigong2007-11-21 11:05
好象就是++i和i++的区别,一个先加在显示,一个显示i在加嘛。
#6
bozl2007-11-21 12:14
i的值会随着程序的运行而改变.
也就是说i的初始值为8.
进行到--i的时候,i的值为9,--i的时候又为8
同理...
下面的都一样
#7
jshkuang2007-11-21 13:37
1)i=8 printf("%d\n",++i); 此时表达式++i的值9,输出,i的值变为9
2)i=9 printf("%d\n",--i); 此时表达式--i的值8,输出,i的值变为8
3)i=8 printf("%d\n",i++); 此时表达式i++的值8,输出,i的值变为9
4)i=9 printf("%d\n",i--); 此时表达式i--的值9,输出,i的值变为8
5)i=8 printf("%d\n",-i++);此时表达式-i++为-8,输出,i的值变为9 /*-i++相当于-(i++)*/
6)i=9 printf("%d\n",-i--);此时表达式-i--为-9,输出,i的值变为8

总之:类似i++,可以理解为表达式i++的值和变量i的值即可



#8
meai2007-11-21 13:50
回复:(米车阿里)这是前置++,--与后置++,--的问题...
简单易懂
1