| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1012 人关注过本帖
标题:++a和a++的问题
只看楼主 加入收藏
aseeman
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2012-3-30
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:10 
++a和a++的问题
程序代码:
#include<iostream>

int main()
{
    int a=0,b=0;
    b=(a++)+(a++);
    std::cout<<b;
}


这段程序,输出是0。

程序代码:
#include<iostream>

int main()
{
    int a=0,b=0;
    b=(++a)+(++a);
    std::cout<<b;
}


把上段程序的a++改成++a,输出就是 4。。实在不明白。两段程序大婶解释下。
搜索更多相关主题的帖子: 问题 
2012-04-04 16:42
aseeman
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2012-3-30
收藏
得分:0 
2012-04-04 16:45
aseeman
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2012-3-30
收藏
得分:0 
2012-04-04 16:56
hodochun
Rank: 1
等 级:新手上路
帖 子:8
专家分:8
注 册:2012-4-1
收藏
得分:5 
1+0=1
1+1=2
2+2=4
2012-04-05 11:19
BianChengNan
Rank: 8Rank: 8
等 级:贵宾
威 望:13
帖 子:302
专家分:972
注 册:2011-11-30
收藏
得分:5 
这种问题不要纠结,有时候会取决于具体的编译器。但是要记住的一点是前置加加是先加加再参与运算,后置加加是先运算再加加。

我的群:149544757 C/C++/Assembly 喜欢交流的朋友进,进群请写消息
2012-04-05 11:44
蓝xuan
Rank: 4
等 级:业余侠客
帖 子:81
专家分:211
注 册:2012-3-31
收藏
得分:5 
如例子:
a=0,b=0;
b=a++;
首先得到b=a=0,然后再a++,a=1;
2012-04-05 18:30
aseeman
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2012-3-30
收藏
得分:0 
回复 5楼 BianChengNan
有道理学习了。
2012-04-05 23:03
aseeman
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2012-3-30
收藏
得分:0 
回复 6楼 蓝xuan
豁然开朗。。基本功扎实啊。
2012-04-05 23:03
bccn250
Rank: 5Rank: 5
等 级:职业侠客
帖 子:154
专家分:379
注 册:2010-5-25
收藏
得分:5 
真的不要太纠结,
要让程序按照你的意思做,别让程序把你给绕进去
人有绝对的主动权
如果觉得 ++ 这运算符不好理解,干脆就别用,
再说了,其它某些编程语言,没有 ++ 运算符不也用得好好的吗?
又不是C++有的 你就一定要用到,如果是这样的话,就不会有人反对用goto 了
2012-04-06 12:13
暗爵
Rank: 2
等 级:论坛游民
帖 子:5
专家分:18
注 册:2011-8-4
收藏
得分:0 
当++符号在a后面时,表示先运算再a加1,程序以实际上是0+0
而++符号在a前面时,表示先加在运算,程序2实际上是2+2
2012-04-12 19:44
快速回复:++a和a++的问题
数据加载中...
 
   



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

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