以下代码的输出是什么。
class x {
psvm(){
int j=0;
for(i=0;i<=100;i++)
j=j+1;
sop(j);
}
}
答案 0 :(得分:0)
for(i=0;i<=100;i++)
这将i = 0
- &gt; i = 100
, 101 次迭代。如果您只需要100次迭代,则需要以下任何一种:
for (i = 0; i < 100; i++) // note: < only: 0 -> 99 = 100 iterations.
for (i = 1; i <= 100; i++) // note: change of starting point: 1 -> 100 = 100 iterations
评论后续:
此代码:
j = j++;
是
的功能等价物temp = j; // save current value of j, e.g 0
j = j + 1; // increment j, e.g. j becomes 1
j = temp; // put saved value into j, e.g. j goes back to 0
如果你做完了:
j = ++j;
那么它就是
temp = j
temp = temp + 1
j = temp
或字面上只是
j = j + 1
答案 1 :(得分:0)
您的比较是i<=100
。你的初始位置是0.这两个结合在一起给你101次循环。
尝试i<100
。
答案 2 :(得分:0)
for(i=0;i<=100;i++)
完成101次迭代,因为您从0
开始,以100
结束(不是100之前!)
答案 3 :(得分:0)
将j递增1并将值设为j:
i j
0 1
1 2
....
100 101
我认为很清楚。
BTW你自己主动写j = j++
吗?如果你只是想锻炼你的技巧,那就没关系。但从不使用这种技术是真正的代码。
看看代码格式约定。您的代码看起来几乎混淆了。很难阅读和理解它。