for循环语句的范围

来源:百度知道 编辑:UC知道 时间:2024/05/11 00:47:04
如果有这样一个语句:
for()
if()
{
....
}
for()
{
}
请问第一个for循环语句的范围是到哪里为止?到if语句结束还是到最后?
有这样一段程序不是很明白。
void StrOR(void)
{
int i,j,k,strl,index;
char ch;
for(i=0;i<maxline;i++)
{
strl=strlen(xx[i]);
index=strl;
for(j=0;j<strl;j++)
if(xx[i][j]=='o')
{
for(k=j;k<strl-1;k++)
xx[i][k]=xx[i][k+1];
xx[i][strl-1]=' ';
index=j;
}
for(j=strl-1;j>=index;j--)
{
ch=xx[i][strl-1];
for(k=strl-1;k>0;k--)
xx[i][k]=xx[i][k-1];
xx[i][0]=ch;
}
}
}
对于二楼的回答,我也一直这么认为,但是在上面这段程序中如果for只是管到if语句结束
for(j=0;j<strl;j++)
if(xx[i][j]=='o')
{
for(k=j;k<strl-1;k++)
xx[i][k]=xx[i][k+1];
xx[i][strl-1]=' ';
index=j;
}
那么

for(i=0;i<maxline;i++)
这个的范围是从0到maxline如果到了maxline就跳出循环
for(k=j;k<strl-1;k++)
这个的范围是从j到strl-1如果到了strl-1就跳出循环
其他的都一样

到if语句结束

for循环的使用规则是如果for后不带大括号,则for循环块中只执行下条语句,如果有大括号,则执行大括号中的内容,此代码中for后跟的是if而if有自己的执行代码块,则此for执行到if结尾

{}是一对。你看一下就知道了。最近的两个是一对。
第一个for 到最后