当前位置: 代码迷 >> C语言 >> [求助]循环中的
  详细解决方案

[求助]循环中的

热度:11   发布时间:2007-11-05 23:45:09.0
[求助]循环中的
【】
----------------解决方案--------------------------------------------------------

没有说清楚啊,就是有没有{},有什么区别啊
例如:
for (i=1;i<3;i++)
for (j=1;j<3;j++)
{
printf("*")
printf("\n")
}

for (i=1;i<3;i++)
{for (j=1;j<3;j++)
printf("*")
printf("\n")
}




----------------解决方案--------------------------------------------------------
回复:(woo23778206)没有说清楚啊,就是有没有{},有...

for(;i;)
for(;j;)
getchar();

{ } 括起来的是代码块。

for 循环执行,for 语句紧跟的第一个语句。

for(;i;)
{
getchar();
}

{ } 把几个语句组合成一个代码块。

/* 好像过去的编译器是不支持这个的,过去必须使用 { } */


----------------解决方案--------------------------------------------------------
区别在于:

对于第一个形式中第二个for管的范围是printf("*") printf("\n"),而第二个形式中第二个for管的范围是printf("*")

所以第一个形式结果是

*
*
*
*

第二个形式结果是

**
**

----------------解决方案--------------------------------------------------------
以下是引用woo23778206在2007-11-5 23:52:24的发言:

没有说清楚啊,就是有没有{},有什么区别啊
例如:
for (i=1;i<3;i++)
for (j=1;j<3;j++)
{
printf("*")
printf("\n")
}

for (i=1;i<3;i++)

{for (j=1;j<3;j++)
printf("*")

printf("\n")
}




printf("*")
printf("\n")
/* 怎么连分号都没写 */
//------------------------------------------------------------//

for (i=1;i<3;i++)
for (j=1;j<3;j++) /* for 和 紧跟 for 的语句是一个整体 */
{ /* for 的循环体 */
printf("*"); /* 循环 {} 中的语句 */
printf("\n"); /* */
} /*-------------------*/


for (i=1;i<3;i++) /* for 和 for 的循环体是一个整体 */
{ /* 外部for 的循环体 */
for (j=1;j<3;j++) /* 在外部 for 的循环体中的 for 循环*/
printf("*"); /* 内部 for 的循环体 */
printf("\n"); /* 不属于内部 for 循环,属于外部 for 循环 */
}


//--------------------------------------------------------------//

for 循环体如果是单一语句可以不使用{},
如果循环体是多条语句,那么要使用{}。(代码块)



C 中还允许使用 逗号连接几个语句
如:

for(i = 0; i < n; printf("*"), i++); /* 这样也可以 */


[此贴子已经被作者于2007-11-6 2:18:32编辑过]


----------------解决方案--------------------------------------------------------
哦,太感谢了,清楚了,呵呵,写的时候忘了写分号了,以后会注意的啊
----------------解决方案--------------------------------------------------------
  相关解决方案