循环语句不常见

CHA*_*HAS -4 c c# loops

在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循环以分号结束?

dtb*_*dtb 7

你的for循环体是空的:

int ii;
for(ii=1;ii<5;ii++);
//                 ? body of the for loop
printf("ii = %d",ii);
Run Code Online (Sandbox Code Playgroud)

代码设置ii1,然后递增,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)

  • 优秀的小箭头.:) (5认同)