| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2077 人关注过本帖
标题:为什么这个结果
只看楼主 加入收藏
pydlq
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:129
专家分:488
注 册:2017-9-5
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:12 
为什么这个结果
int b = 3;
printf("%d  %d",b+=3,++b);

为什么输出结果是:7   7
搜索更多相关主题的帖子: 结果 int printf 输出 
2018-01-23 18:02
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:10 
未定义行为
2018-01-23 18:22
pydlq
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:129
专家分:488
注 册:2017-9-5
收藏
得分:0 
回复 2楼 rjsp
那具体处理的过程是什么啊
2018-01-23 18:24
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1690
专家分:4262
注 册:2007-12-27
收藏
得分:10 
未定义行为可以任意处理

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2018-01-23 19:00
dsxktop
Rank: 2
等 级:论坛游民
威 望:1
帖 子:33
专家分:31
注 册:2018-1-13
收藏
得分:0 
是不是先运行,再输出

大师兄威客 http://www.dsx.top/
2018-01-24 10:18
william2011
Rank: 1
来 自:金星
等 级:新手上路
帖 子:35
专家分:0
注 册:2018-1-23
收藏
得分:0 
单步执行,跟踪查看变量b,即可理解
2018-01-24 13:45
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
未定义行为。 结果依赖编译器,不同的编译器有不同的结果,甚至有的编译器通不过编译。

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2018-01-24 15:03
白为晞
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2017-12-29
收藏
得分:0 
编译器不同,输出的结果就不同
2018-01-24 15:44
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
“编译器不同,输出的结果就不同 ” ------ 这属于“实现定义行为”
而“未定义行为”是根本不考虑这种可能,即每次运行的结果都可能不同,结果可能是任意行为,比如格式化磁盘。
2018-01-24 16:21
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
这个不是"未定义行为"吧?楼主用的是什么编译器?是否开启了编译优化选项?

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2018-01-24 17:39
快速回复:为什么这个结果
数据加载中...
 
   



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

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