| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 581 人关注过本帖
标题:自增自减的问题
只看楼主 加入收藏
njzhangyuhao
Rank: 2
等 级:论坛游民
帖 子:197
专家分:35
注 册:2010-11-20
结帖率:100%
收藏
 问题点数:0 回复次数:12 
自增自减的问题
在TC里 j=3;k=(j++)+(j++)+(j++);
k是多少?
是3个j都用过了再一起+3还是一个一个+1?
2011-03-04 17:24
chenwei435
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:2
帖 子:322
专家分:1611
注 册:2010-11-28
收藏
得分:0 
回复 楼主 njzhangyuhao
j=3;k=(j++)+(j++)+(j++); 是先把k算出来,再j+1则结果是k=9而j=6;

[ 本帖最后由 chenwei435 于 2011-3-4 17:47 编辑 ]
2011-03-04 17:39
njzhangyuhao
Rank: 2
等 级:论坛游民
帖 子:197
专家分:35
注 册:2010-11-20
收藏
得分:0 
如果是k=(j++)+(++j)+(j++)*j
结果是多少是怎么算的?
2011-03-04 17:42
chenwei435
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:2
帖 子:322
专家分:1611
注 册:2010-11-28
收藏
得分:0 
回复 3楼 njzhangyuhao
还是先把k=(j++)+(++j)+(j++)*j中的j算出来,再算k;则k=48 j=6
这样想是错的,我刚在tc下运行了下。不是这样的。它会先把把那个++j先加一下,再算k,最后再加一下最后一个j;

[ 本帖最后由 chenwei435 于 2011-3-4 18:06 编辑 ]
2011-03-04 17:49
chenwei435
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:2
帖 子:322
专家分:1611
注 册:2010-11-28
收藏
得分:0 
回复 3楼 njzhangyuhao
而若是
a=3
k=(++a)+(++a);
则k=10
a=5,也就是a加一后等于4再加一等于5,再运算k,算出k等于10
2011-03-04 17:51
njzhangyuhao
Rank: 2
等 级:论坛游民
帖 子:197
专家分:35
注 册:2010-11-20
收藏
得分:0 
回复 4楼 chenwei435
???不对啊 怎么是48? 全是(++j)才应该是48啊 有j++啊
2011-03-04 18:01
chenwei435
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:2
帖 子:322
专家分:1611
注 册:2010-11-28
收藏
得分:0 
回复 6楼 njzhangyuhao
楼主看清了,不管一个表达式中有什么,碰到++j,就先把j 给加了,再运算。碰到j++,就先把结果算出来再j=j+1;
举个例子:
k=(j++)+(++j)+(j++);
也就是先算第二个,也就是j=j+1的j=4, 再算k=4+4+4;的k=12,再算++j,的j=6
2011-03-04 18:11
baobaoisme
Rank: 7Rank: 7Rank: 7
来 自:AVATAR
等 级:黑侠
帖 子:260
专家分:506
注 册:2010-7-9
收藏
得分:0 
这个没意思啊,不同编译器可能处理方法不同,写程序尽量避免二义性,注重通用性
2011-03-04 18:30
wolonga123
Rank: 2
等 级:论坛游民
帖 子:25
专家分:35
注 册:2010-9-16
收藏
得分:0 
回复 5楼 chenwei435
这样的话k也是等于9啊即k=(a+1)+(a+1)
2011-03-04 19:53
wolonga123
Rank: 2
等 级:论坛游民
帖 子:25
专家分:35
注 册:2010-9-16
收藏
得分:0 
等于12,即开始j=3,执行完j++后,j自加1等于4,再执行j++,j等于5.得结果3+4+5
2011-03-04 19:56
快速回复:自增自减的问题
数据加载中...
 
   



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

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