| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1245 人关注过本帖
标题:请教自增自减运算
只看楼主 加入收藏
caoqiangkill
Rank: 2
等 级:论坛游民
帖 子:18
专家分:10
注 册:2010-5-28
结帖率:83.33%
收藏
已结贴  问题点数:20 回复次数:19 
请教自增自减运算
main()
{
    int a=5,b=5,c,d;
    c=(a--)+(--a)+(a--);
    d=(--b)+(b--)+(--b);
    printf("%d\n%d\n%d\n%d\n",c,d,a,b);
}
如何理解其结果c=12,d=9,a=2,b=2?
搜索更多相关主题的帖子: 运算 
2010-05-28 16:55
aici1laopo
Rank: 1
等 级:新手上路
帖 子:4
专家分:1
注 册:2010-5-27
收藏
得分:1 
图片附件: 游客没有浏览图片的权限,请 登录注册
   这是我输出的结果。c为(a自减1)+(自减1的a)+(a,然后自减),所以a=2,c=5+3+3.
b同理
2010-05-28 17:30
caoweidong
Rank: 2
等 级:论坛游民
帖 子:15
专家分:11
注 册:2010-5-27
收藏
得分:1 
答案应该为12 11 2 2吧

2010-05-28 17:48
caoqiangkill
Rank: 2
等 级:论坛游民
帖 子:18
专家分:10
注 册:2010-5-28
收藏
得分:0 
回复 楼主 caoqiangkill
不可能计算机也会吧!!!!
2010-05-28 17:51
caoqiangkill
Rank: 2
等 级:论坛游民
帖 子:18
专家分:10
注 册:2010-5-28
收藏
得分:0 
回复 2楼 aici1laopo
你算得c=11,但是计算机上的输出结果是12的嘛。
2010-05-28 17:53
lzdrifter
该用户已被删除
收藏
得分:1 
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-28 17:59
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:1 
请楼主把这段代码的解释以及作者帖出来 ,/

我就是真命天子,顺我者生,逆我者死!
2010-05-28 18:06
vs_inzaghi
Rank: 5Rank: 5
来 自:湖北
等 级:职业侠客
威 望:1
帖 子:303
专家分:364
注 册:2009-8-17
收藏
得分:1 
6楼正解,我补充下,首先,你的第一个值,就是c的值,是12,因为你有2个a--和一个--a,系统编译的时候先把这3个放在一起编译了,注意,--a是在使用a之前就自减,所以这时候a=4,而其他的是a--,所以a暂时不变,在计算出c值前,所以c=4+4+4=12,但是因为用到了a,所以a要自减,因为有2个a--,所以自减2次,所以a=2了……
d的值同理……

我很懒,但我讨厌别人说我懒……
2010-05-28 19:30
vs_inzaghi
Rank: 5Rank: 5
来 自:湖北
等 级:职业侠客
威 望:1
帖 子:303
专家分:364
注 册:2009-8-17
收藏
得分:0 
再看一遍,貌似我说的不清楚,不过希望LZ能理解我的意思……呵呵
键盘坏了,打字麻烦,特别是符号很难打,见谅……

我很懒,但我讨厌别人说我懒……
2010-05-28 19:32
wu644877373
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:47
专家分:30
注 册:2010-5-11
收藏
得分:1 
这个问题很好,很容易使人出错,9楼我来替你解释解释清楚吧。
首先 c=(a--)+(--a)+(a--);这个语句中有一个--a,所以a的值变为4,而a++是先使用a的值之后再自加的,所以c=4+4+4=12。此语句完成后a就自减了2次,所以a最终的值为2。
同理 d=(--b)+(b--)+(--b);这个语句LZ应该能理解了吧。


2010-05-28 20:18
快速回复:请教自增自减运算
数据加载中...
 
   



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

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