| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1252 人关注过本帖
标题:[求助]求k=(i++)+(i++)+(i++)的值
只看楼主 加入收藏
zhy20045923
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2007-10-3
收藏
 问题点数:0 回复次数:33 
[求助]求k=(i++)+(i++)+(i++)的值
虽然知道这个问题无聊而且没有意义,但我还是想知道为什么。
int i=3,k;
k=(i++)+(i++)+(i++);
在 VC++ 2003 和 Dev-C++ 中 k 的值都是9。
但我觉得不管怎么算,k的值应该是k=3+4+5=12,这到底是怎么回事啊?
搜索更多相关主题的帖子: int 
2007-10-04 08:24
老男人
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-9-11
收藏
得分:0 

应该是执行完整条语句后才加一的吧


2007-10-04 09:14
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
全部处理完 I后再相加.

倚天照海花无数,流水高山心自知。
2007-10-04 09:59
wuquan
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-10-4
收藏
得分:0 
先扫描一遍表达式,认为I=3,在做加法运算,得出运算结果为9,最后在将I自增1
2007-10-04 10:31
赵殿良
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-9-27
收藏
得分:0 

#include <iostream>
using namespace std;

int main()
{
int i=3,k;
k=(i++)+(i++)+(i++);
cout<<"i="<<i<<endl;
cout<<"k="<<k<<endl;
return 0;
}
运行结果
i=6
k=9
Press any key to continue

2007-10-04 10:48
栖柏
Rank: 2
等 级:论坛游民
威 望:3
帖 子:1103
专家分:17
注 册:2007-8-23
收藏
得分:0 
k=(i++)+(i++)+(i++);
解释一点,i++的值是3,
而i值变了,由3->4->5
输出时变为6了

You have lots more to work on! Never give up!c language!
2007-10-04 10:51
ygh449497711
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2007-10-3
收藏
得分:0 
潭浩强如此解释:大多数的c++系统把3作为表达式中所有i的值,因此3个i相加,得到表达式的值为9。在求出整个表达式的值后再实现自加3次,i的值变为6。ANSIC++标准对表达式求值的顺序,并无统一规定,在求解含++和--运算符时会出现歧义。
本人认为还是少用为妙

2007-10-04 11:13
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
不要用最好.

倚天照海花无数,流水高山心自知。
2007-10-04 11:14
光荣匿名人士
Rank: 1
等 级:新手上路
帖 子:226
专家分:0
注 册:2007-10-3
收藏
得分:0 
用这个明显唬弄人的,没必要了解太多
2007-10-04 11:28
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
好象我们在刷.

倚天照海花无数,流水高山心自知。
2007-10-04 11:28
快速回复:[求助]求k=(i++)+(i++)+(i++)的值
数据加载中...
 
   



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

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