| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1325 人关注过本帖
标题:两个i++值不变
只看楼主 加入收藏
qishi123
Rank: 1
等 级:新手上路
帖 子:78
专家分:9
注 册:2012-9-5
结帖率:78.57%
收藏
 问题点数:0 回复次数:12 
两个i++值不变
i的值为3,为什么x执行完x=(i++)+(i++);后i的变为5,但是x的值为6,不应该是7吗?因为执行完第一个i++后,i的值为4,再执行下一个的话不应该是3+4=7吗?
2012-10-04 20:03
小习小习
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:6
帖 子:1467
专家分:4792
注 册:2012-7-2
收藏
得分:0 
去看以前的帖子

实现自己既定的目标,必须能耐得住寂寞单干。
2012-10-04 20:24
qishi123
Rank: 1
等 级:新手上路
帖 子:78
专家分:9
注 册:2012-9-5
收藏
得分:0 
没看明白,我看了,看了不懂,想让大家多介绍一下,或者告诉我那个帖子可以了
2012-10-04 20:35
qishi123
Rank: 1
等 级:新手上路
帖 子:78
专家分:9
注 册:2012-9-5
收藏
得分:0 
回复 2楼 小习小习
没看明白,我看了,看了不懂,想让大家多介绍一下,或者告诉我哪个帖子就可以了
2012-10-04 20:36
张朝成
Rank: 4
等 级:业余侠客
帖 子:149
专家分:265
注 册:2012-3-22
收藏
得分:0 
你要注意i++和++i是不同的。i++是先取值,在自加;++i是先自加,在取值。
2012-10-04 20:42
qishi123
Rank: 1
等 级:新手上路
帖 子:78
专家分:9
注 册:2012-9-5
收藏
得分:0 
回复 5楼 张朝成
是不是一个语句里有多个i++的话,最后i才自加了?
2012-10-04 20:49
q13678986740
Rank: 4
等 级:业余侠客
帖 子:114
专家分:245
注 册:2012-7-7
收藏
得分:0 
楼上正解
2012-10-04 20:51
小习小习
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:6
帖 子:1467
专家分:4792
注 册:2012-7-2
收藏
得分:0 
这是c语言的未定义行为,不同的编译器可能不同,如果你有汇编知识,可以反汇编一下,看下它是怎么样实现的。不过这样的程序在实际情况不会出现。呵呵,你这样的贴会被锁的,因为 这问题论坛已讨论好多次了,前辈们已帮我们解决好次了,去翻以前的帖子,学会搜索是好的学习方法,哎我废话多了,你无视吧。。。

实现自己既定的目标,必须能耐得住寂寞单干。
2012-10-04 21:09
q13678986740
Rank: 4
等 级:业余侠客
帖 子:114
专家分:245
注 册:2012-7-7
收藏
得分:0 
x=(i++)+(i++)相当于x=i+i;i++;i++;
x=(++i)+(++i)相当于a=i+1;x=(i+1)+((i+1)+1)。x=(++i)+(++i)这句中后一个i为前一个i自增后的值,假设i为1,则前面的(++i)自增后为2,后一个i已变为2接着自增为3最后计算2+3
2012-10-04 21:10
qishi123
Rank: 1
等 级:新手上路
帖 子:78
专家分:9
注 册:2012-9-5
收藏
得分:0 
回复 8楼 小习小习
我们只学c语言,我在C++6.0上运行的,估计是这样吧。
2012-10-04 21:11
快速回复:两个i++值不变
数据加载中...
 
   



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

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