| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1986 人关注过本帖
标题:关于后置++的问题
只看楼主 加入收藏
异ren
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2016-2-2
结帖率:50%
收藏
已结贴  问题点数:1 回复次数:6 
关于后置++的问题
#include<iostream>
using namespace std;
int main()
{
static int i=0;
i++;
cout<<i<<endl;
return 0;
}

#include<iostream>
using namespace std;
int main()
{
static int i=0;
cout<<i++<<endl;
return 0;
}
的区别
2016-02-16 09:55
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:1 
区别不是很明显嘛,
前者 i++ 后输出 i 的值
后者输出 i++ 这个表达式的值
2016-02-16 10:05
异ren
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2016-2-2
收藏
得分:0 
回复 2楼 rjsp
为什么第二个答案是0呢,为什么不是1
2016-02-16 10:13
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
以下是引用异ren在2016-2-16 10:13:31的发言:

为什么第二个答案是0呢,为什么不是1
int i = 0;
i++ 这个表达式的值就是0,副作用是i=1
2016-02-16 11:05
异ren
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2016-2-2
收藏
得分:0 
回复 4楼 rjsp
哦~我懂了,就是
cout<<i++<<endl;
是等价于x=i++;
cout<<x<<endl;
谢谢版主的耐心解释!
2016-02-16 13:07
hjx1120
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:李掌柜
等 级:贵宾
威 望:41
帖 子:1314
专家分:6927
注 册:2008-1-3
收藏
得分:1 
楼主要是想知道表达式和语句书中的出外可以在《C++ primer plus》第五章节找到答案
图片附件: 游客没有浏览图片的权限,请 登录注册

2016-02-16 19:21
xry123
Rank: 1
等 级:新手上路
帖 子:5
专家分:1
注 册:2016-2-10
收藏
得分:1 
后置++是在执行完当前这个语句后再把变量的值+1,第一部分,i++;这个语句执行完,i的值+1,输出为1.第二个,cout<<i++<<endl;执行这个语句之前i的值为0,所以输出0,执行完该语句后,i的值+1变为1
2016-02-20 21:41
快速回复:关于后置++的问题
数据加载中...
 
   



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

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