我遇到问题,如果我做了
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlin<image width="290" height="290" xlink:href="../includes-jar-code/_images/SquareTestGray.png">
<rect x="0" y="0" width="290" height="290" fill="royalblue" stroke="#53c"></rect>
<!--<a xlink:href="//jarea.com/yellow">-->
<rect onclick="notify(evt)" id="svgYellow" opacity="0" x="0" y="0" fill="#FFFF00" width="145" height="145" />
<text x="72" y="72" fill="red">Y</text>
<!--</a>-->
<!--<a xlink:href="//jarea.com/pink">-->
<rect onclick="notify(evt)" id="svgPink" x="0" y="146" fill="#FF00FF" opacity="0" width="145" height="145" />
<text x="72" y="218" fill="red">P</text>
<!--</a>-->
<!--<a xlink:href="//jarea.com/blue">-->
<rect onclick="notify(evt)" id="svgBlue" x="146" y="0" fill="#0000FF" opacity="0" width="145" height="145" />
<text x="218" y="72" fill="red">B</text>
<!--</a>-->
<!--<a xlink:href="//jarea.com/green">-->
<rect onclick="notify(evt)" id="svgGreen" x="146" y="146" fill="#008000" opacity="0" width="145" height="145" />
<text x="218" y="218" fill="red">G</text>
<!--</a>-->
</svg>
我的问题是,在第一种情况下,我们在同一个变量中分配后递增值a,所以首先它在a本身中分配初始值但是在执行语句之后a的值不会增加,因为它是在c ++中,所以递增的值会增加。是否有可能在第一种情况下,增加的a的地址和分配的a的地址将是不同的。
我搜索了stackoverflow,但无法找到我的问题的答案,虽然我发现这些链接在某种程度上有帮助
How do the post increment (i++) and pre increment (++i) operators work in Java?
Pre and Post Increment and Decrement in Java
我搜索了互联网,它说了一些关于鬼变量的东西我没有正确地得到它所以请告诉我正确答案。
答案 0 :(得分:2)
在第一种情况下,我们在中指定了增加后的值a 相同的变量首先它在a本身中分配初始值 但是在执行语句之后,a的值不是 在c ++中增加,因此增加的值会增加。是 有可能在第一种情况下增加a的地址 指定的a的地址和地址会有所不同。
在执行语句之后,但在执行之后,案例1中的a值(以及案例3中c的值相同)不会递增表达式a++
(或c++
)。它立即完成。
因此,在您的情况1中,a
的值暂时只是暂时,1
在评估a++
之后。该表达式的值为零。因此,当您在案例1中将a++
的结果分配给a
时,您会将a
重置为零。
至于问题的第二部分:不,a
要递增而a
要分配的是完全相同的变量。