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

[求助]循环体

热度:208   发布时间:2006-10-19 11:05:59.0
[求助]循环体
#include<stdio.h>
void main()
{ int i , j;
for(i=1;i<=9;i++)
{ for(j=1;j<=i;j++)
printf("%d*%d=%2d",i,j,i*j);
printf("\n");
getch();
}


#include<stdio.h>
void main()
{ int i , j;
for(i=1;i<=9;i++)
{ for(j=1;j<=i,j++){
printf("%d*%d=%2d",i,j,i*j);}
printf("\n");
getch();
}
区别是什么?
搜索更多相关的解决方案: printf  void  main  getch  include  

----------------解决方案--------------------------------------------------------
光加这对{}...是一样的..不过两段都有错误...第二段里的..不是逗号...是分号..还有.两段都少了个}
----------------解决方案--------------------------------------------------------
谢谢
你说的一样是不是运行结果是一样的,它们在理论上有没有不同呢?要是在{}里加上其它的操作是不是有不同的情况的呢?
----------------解决方案--------------------------------------------------------
结果..你自己看看是不是一样...
{}表示是一个集体...
for(j=1;j<=i;j++)
{
printf("%d*%d=%2d",i,j,i*j);
}

for(j=1;j<=i;j++)
printf("%d*%d=%2d",i,j,i*j);
是一样的...如果没有加{}这话..那么循环语句的循环体就是它的下一行的语句...如果加了{}的话..那循环体就是{}之间的整个..

----------------解决方案--------------------------------------------------------
赞同purana的观点,如果你程序中关于j不是<=i,就不同了 

----------------解决方案--------------------------------------------------------

书上有讲,应该详细看书才对


----------------解决方案--------------------------------------------------------
以下是引用amyeeq在2006-10-19 11:05:59的发言:
#include<stdio.h>
void main()
{ int i , j;
for(i=1;i<=9;i++)
{ for(j=1;j<=i;j++) 没有匹配.
printf("%d*%d=%2d",i,j,i*j);
printf("\n");
getch();
}


#include<stdio.h>
void main()
{ int i , j;
for(i=1;i<=9;i++)
{ for(j=1;j<=i,j++){
printf("%d*%d=%2d",i,j,i*j);}
printf("\n");
getch();
}
区别是什么?

循环语句的作用范围为紧跟着它的第一个语句(包括复合语句和空语句)


----------------解决方案--------------------------------------------------------
谢谢分享
----------------解决方案--------------------------------------------------------
上面分析的很好!
----------------解决方案--------------------------------------------------------
  相关解决方案