----------------解决方案--------------------------------------------------------
没有说清楚啊,就是有没有{},有什么区别啊
例如:
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")
}
----------------解决方案--------------------------------------------------------
for(;i;)
for(;j;)
getchar();
{ } 括起来的是代码块。
for 循环执行,for 语句紧跟的第一个语句。
for(;i;)
{
getchar();
}
{ } 把几个语句组合成一个代码块。
/* 好像过去的编译器是不支持这个的,过去必须使用 { } */
----------------解决方案--------------------------------------------------------
区别在于:
对于第一个形式中第二个for管的范围是printf("*") printf("\n"),而第二个形式中第二个for管的范围是printf("*")
所以第一个形式结果是
*
*
*
*
第二个形式结果是
**
**
----------------解决方案--------------------------------------------------------
没有说清楚啊,就是有没有{},有什么区别啊
例如:
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编辑过]
----------------解决方案--------------------------------------------------------
哦,太感谢了,清楚了,呵呵,写的时候忘了写分号了,以后会注意的啊
----------------解决方案--------------------------------------------------------