【发布时间】:2015-12-13 22:47:02
【问题描述】:
我知道答案是 9,但是当我尝试在纸上解决这个问题时,我一直得到答案是 6。我需要知道代码运行时发生了什么。尤其是一开始,第二个 for 循环是假的,因为 x 不小于 y。
上面的代码执行时会打印什么值?
int w = 0;
for (int y = 0; y < 5; y++)
{
w = y - 1;
for (int x = 1; x < y; x++)
{
w = w + x;
}
}
System.out.println(w);
【问题讨论】:
-
执行后得到了什么?您是否尝试过逐行浏览代码以查看执行了什么?它也可能有助于您解释您如何获得 6 以及您认为该程序将如何获得
9? -
编译器运行代码时,结果为 9。但是,当我尝试在纸上查看时,最终得到 6。我不太明白编译器。