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]);
}而内循环语句后有大括号,是因为内循环体内包括a[i][j]=m;和
m++;和if(j<=i)
printf("%3d",a[i][j]);三条执行语句,想把他们都包括到循环体内就必须用大括号括起来,作为一个复合语句出现。
for语句还有空循环模式,就是没有执行语句,如:
for(i=0;str[i]!='\0';i++);此句后就有分号,表示为空循环,没有执行语句,它的功能就是为了得到i的值。
以上分析希望能够帮到您。