| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 501 人关注过本帖
标题:自加,自减问题
只看楼主 加入收藏
aiwoba3000
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2007-7-11
收藏
 问题点数:0 回复次数:7 
自加,自减问题
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--);
getch();
}
这段代码编译出来的结果是:9,8,8,9,-8,-9
和我想的不一样,从第三个开始就算不对了,应该是怎么算的.大家给我讲一下
2007-07-16 10:13
hainiba
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2007-7-14
收藏
得分:0 

++i - -i i++ i-- -i++ -i--
i值 9 8 9 8 9 8
输出 9 8 8 9 -8 -9
先加再输出 先减再输出 先输出再加 先输出再减


2007-07-16 10:32
cxhiou
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2007-6-13
收藏
得分:0 
如果你是想得到这样的结果的话:9,7,8,8,-8,-8。
可以在每个输出语句的前面加个int i=8,给他重新赋值。

2007-07-16 12:27
爱c1314
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-7-16
收藏
得分:0 
到C的初学者乐园来吧 QQ群:42675698

hi,world
2007-07-16 13:29
楚扬
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2007-7-15
收藏
得分:0 
i=8
-i++的结果为什么是9呀

2007-07-16 14:08
ChenMo
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:3
帖 子:481
专家分:10
注 册:2004-4-8
收藏
得分:0 
(1)++ 作用在变量左边,先加1,后取变量的值参与运算;
(2)++ 作用在变量右边,先取变量的值参与运算,后加1。


main()
{
int i=8;
printf("%d\n",++i); i自增1(8+1),i 当前为 9,输出 i 的值 9,理由:(1)

printf("%d\n",--i); i自减1(9-1),i 当前为 8,输出 i 的值 8,理由:同上

printf("%d\n",i++); 输出 i 的值 8,i自增1(8+1),i 当前为 9,理由:(2)

printf("%d\n",i--); 输出 i 的值 9,i自减1(9-1),i 当前为 8,理由:同上

printf("%d\n",-i++); 取 i 的值 8,将8取负,输出 -8,i自增1(8+1),i 当前为 9,理由:取负运算符与自增运算符同一优先级,方向自右向左。

printf("%d\n",-i--); 取 i 的值 9,将9取负,输出 -9,i自减1(9-1),i 当前为 8,理由:同上。
getch();
}




欢迎加入 MVC 技术讨论群(新群:90093426)
2007-07-16 17:34
aiwoba3000
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2007-7-11
收藏
得分:0 

感谢六楼,斑竹啊,我已经明白了.讲的很详细
不过我又想到一个问题,从-i++开始,多了一个"-"号,输出的值为-8,为什么不再用(-8)+1呢

[此贴子已经被作者于2007-7-16 18:09:38编辑过]


横批:逢读必输 上联:博士生 硕士生 研究生 生生不息/下联:上一代 这一代 下一代 代代失业
2007-07-16 18:03
totohack
Rank: 1
等 级:新手上路
帖 子:133
专家分:0
注 册:2007-7-15
收藏
得分:0 
是-i而不是i=-i,-i是取i值的反,i=-i是把-i的值赋给i

2007-07-16 19:06
快速回复:自加,自减问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021844 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved