【发布时间】:2013-08-24 12:13:04
【问题描述】:
这是一个我不完全理解的练习题。
对于代码片段
int i = 0, j = 0, k = 0;
for (i=-1; i<=10; ++i){
j = i; ++k;
}
我被要求在执行代码后找到变量的值。
答案是:
i = 11 j = 10 k = 12
我不明白怎么做,有人可以帮忙吗?
【问题讨论】:
-
我想你的意思是输入:
for (i=-1; i <= 10; ++i) { j = i; ++k; } -
是的,刚刚解决了这个问题,谢谢
-
解释你不明白什么,你认为结果应该是什么,以及你是如何确定的。
-
这个问题是为了测试你对 i 什么时候递增,什么时候测试它的值的理解。忘记 j 和 k。
-
我以为我会是 10,因为那是我在循环中达到的最高值,j 会是 10,因为 j = i,k 会是 11,因为 k 从 0 开始并且随着每代码的迭代(代码递增 11 次以从 -1 计数到 10)。当然,根据测试提供的解决方案,这些都是不正确的。我想知道的是如何找到此类问题的实际解决方案。