网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
09月21日
漏签
0
天
c++吧
关注:
570,349
贴子:
2,097,910
看贴
图片
吧主推荐
游戏
1
2
下一页
尾页
18
回复贴,共
2
页
,跳到
页
确定
<<返回c++吧
>0< 加载中...
新人求助,网上都说a++返回值是拷贝的原先的,这又是为什么?
只看楼主
收藏
回复
BlackNEWBanana
?:
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
a++中把a的值拷贝了一份,再自增1然后返回原来拷贝的值,那a就应该先变成11然后被赋值为10呀!
可结果却不是这样。。。(想了好久了)
第二个b我感觉与a没什么不同,结果又为什么是10呢?
大胖懒虫
,
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
刚才答案有点问题,修改一下
,这问题就是c++只能保证每条语句执行完毕的结果,不能保证语句内的。b++这句执行完毕b才保证是11
Baka9
<<
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
a=a然后再执行a=a+1就是11啊
zgzmlb
^
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
楼上正解
dgjvvij
^
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
从右往左执行,第一句,先a++,在a=a,
poss045
throw
3
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
c语言基础没学好
poss045
throw
3
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
自增,自减,区别于先自增,还是先赋值
幻の上帝
->*
15
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
UB
射命丸文
^
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
你这条语句就相当于a=a;a=a+1;,然后因为自增放在变量名后面,是先执行语句再自增,所以你下面打印b那句是先执行b=b,然后打印b,b再加1,所以打印出来b是10。你可以再在下面打印一下b,显示的是11。
qsd573
<
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
你这是未定义代码。
暗影大帝space
<
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
QAQ
BlueWanderer
==
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
你需要个VC2017。只有最新的C++标准里a=a++这样一个表达式里给同一个变量赋值两次的操作才有意义。
杨昌迪10086
,
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
在括号里的b相加后,出括号就释放了
noelemahcz
<
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
a = a++; C++17前UB
exjudgelight
|
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
去看编译器生成的汇编码,你就知道为什么了。强烈推荐compiler explore。记得传 -O0 到 -O3,看看不同优化下的区别
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示