在 C 和 C# 中,此代码片段:
int ii;
for(ii=1;ii<5;ii++);
printf("ii = %d",ii);
打印出ii = 5
而这个片段(注意 <=
):
int ii;
for(ii=1;ii<=5;ii++);
printf("ii = %d",ii);
打印出ii = 6
。
你能解释一下这是怎么回事吗?怎么会for
循环以分号结束?
最佳答案
for
循环的主体为空:
int ii;
for(ii=1;ii<5;ii++);
// ↑ body of the for loop
printf("ii = %d",ii);
该代码将 ii
设置为 1
,然后递增 ii
直到达到 5
,而不在 中执行任何操作code>for
循环体,最后打印 ii
。
如果要打印数字 1 到 4,则应将 printf
调用放在 for
循环体中:
int ii;
for(ii=1;ii<5;ii++) {
printf("ii = %d",ii);
}
关于c# - 不寻常的 for 循环语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6195699/