标题:加法先访问谁
只看楼主
hoshiihoshii
Rank: 2
等 级:论坛游民
帖 子:8
专家分:15
注 册:2022-10-16
结帖率:66.67%
已结贴  问题点数:20 回复次数:5 
加法先访问谁
例如
int i=0,j=0;
int k=i+j;
在第二行中先访问i还是j?
搜索更多相关主题的帖子: 加法 访问 int 
2023-04-06 15:53
forever74
Rank: 12Rank: 12Rank: 12
来 自:CC
等 级:贵宾
威 望:49
帖 子:1636
专家分:3940
注 册:2007-12-27
得分:5 
没有这方面的规定。

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2023-04-06 16:40
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:5 
这个叫 「表达式评估(Order of evaluation)」顺序
详见 https://zh.

若不存在「先序于」规则,则评估顺序属于「实现定义」
若「副作用(side effec)」依赖于「实现定义」的「评估顺序」则属于「未定义行为」

具体到你的提问,答案是“不确定”「实现定义」
因为 评估i 和 评估j 不存在「副作用」,从C标准眼中看,无法区分当然就不用区分。
2023-04-06 16:52
东海ECS
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:Python
等 级:版主
威 望:19
帖 子:376
专家分:1454
注 册:2023-1-24
得分:5 
不确定。在这种情况下,编译器可能会优化代码以最大化性能,因此可能会在任何顺序中访问i和j。

会当凌绝顶,一览众山小.
2023-04-07 20:40
pvm2000
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:24
帖 子:159
专家分:256
注 册:2022-12-22
得分:5 
先访问谁,这个重要吗
2023-04-10 00:49
jm1094sd
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2018-7-12
得分:0 
这个有什么说法,没深入过。
2023-04-22 14:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-511812-1-1.html




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

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