哪个省的人最老实:C语言:j=i+(++i)

来源:百度文库 编辑:高考问答 时间:2024/05/05 09:23:18
i赋1,则结果?为什么?

j 为 4。
先计算表达式中对变量有影响的部分,即 ++i,结果 i = 2,然后再计算 j = i + i
所以 j = 4.

并不是所想像的 j = i + ++i = 1 + 2 = 3。C 会先计算其中影响变量值的部分,例如:

i = 1;
j = (i += 1) + (i *= 2);

并不是说 j = 2 + 4 = 6
而是先 i += 1 后 i = 2,i *= 2 后 i = 4,然后 j = i + i = 4 + 4 = 8。

可以用这个脚本进行测试
<script language=javascript>
var i = 1;
j = i+(++i);
alert (j);
</script>
算法是相通的

建个文本文件.将上述代码复制进去..然后将文件名改为one.htm然后用IE打开就可以看到结果

j=4
i=2
正如1、2楼所说

j=4

先做++I,得出I=2,2+2=4