在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)