for循环语句如果循环体内只有一条执行语句则不用加大括号,如果执行语句为多条语句则必须用大括号括起来,以表示这一部分的执行语句都在循环体内,循环条件满足时要被执行的语句;如:
(1)for(i=0;i<5;i++)
s+=m[i];这个循环体内就一条执行语句s+=m[i];故不用大括号;
(2)
for(i=0;i<5;i++)
for(j=0;j<5;j++)
{
a[i][j]=m;
m++;
if(j<=i)
printf("%3d",a[i][j]);
}
这个例题双重for循环,第一重循环for(i=0;i<5;i++)后没有大括号,因为他的循环体内只有一条执行语句就是内循环语句,它是一个复合语句:
for(j=0;j<5;j++)
{
a[i][j]=m;
m++;
if(j<=i)
printf("%3d",a[i][j]);
}
m++; 和if(j<=i)
printf("%3d",a[i][j]); 三条执行语句,想把他们都包括到循环体内就必须用大括号括起来,作为一个复合语句出现。
for 语句还有空循环模式,就是没有执行语句,如:
for(i=0;str[i]!='\0';i++); 此句后就有分号,表示为空循环,没有执行语句,它的功能就是为了得到i的值。