在C和C#中这个片段:
int ii;
for(ii=1;ii<5;ii++);
printf("ii = %d",ii);
Run Code Online (Sandbox Code Playgroud)
打印出ii = 5
这个片段(注意<=
):
int ii;
for(ii=1;ii<=5;ii++);
printf("ii = %d",ii);
Run Code Online (Sandbox Code Playgroud)
打印出来ii = 6
.
你能解释一下这里发生了什么吗?为什么for
循环以分号结束?
你的for
循环体是空的:
int ii;
for(ii=1;ii<5;ii++);
// ? body of the for loop
printf("ii = %d",ii);
Run Code Online (Sandbox Code Playgroud)
代码设置ii
为1
,然后递增,ii
直到它5
没有在for
循环体中做任何事情,最后打印ii
.
如果要打印数字1到4,则应将printf
调用放在for
循环体中:
int ii;
for(ii=1;ii<5;ii++) {
printf("ii = %d",ii);
}
Run Code Online (Sandbox Code Playgroud)