首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么uint256 d=a+ (a++);给出与uint256 d= (a++) +a不同的答案;

为什么uint256 d=a+ (a++);给出与uint256 d= (a++) +a不同的答案;
EN

Ethereum用户
提问于 2022-12-19 21:21:25
回答 1查看 167关注 0票数 2

为什么它给出了变量d的不同答案?

代码语言:javascript
复制
pragma solidity >=0.8.0 < 0.9.0;

contract Exercise{
    uint256 a = 2;
    
    uint256 public c = a + a++; 
    uint256 public d = a + a++; // here why does a + (a++) give 7 but (a++) + a give 6 
    uint public e = a;
}
EN

回答 1

Ethereum用户

发布于 2022-12-19 21:25:16

因为a++是如何工作的。它返回一个,然后递增它。a + (a++);等于a+ a,下次访问a时,它的值将增加,而(a++) + a是+ a,但在二次读取其值之前,a已经增加了。以下是关于++运算符的另一个问题

票数 5
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/141513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档