C编程:帮助理解循环

0 c loops for-loop

在练习测试中,我的教授给了我这个课程

#include <stdio.h>

int main (void)
{
    int i, sum;
    sum=0;
    for (i=1;i<=7;i++)
        sum=sum+i*i;
    printf("Rocky\n");
    printf("i is %d\n", i);
    printf("sum is %d\n",sum);

    return (0);
}
Run Code Online (Sandbox Code Playgroud)

现在,我的问题是:为什么当我运行这个程序时,输出是:

Rocky
i is 8
sum is 140
Run Code Online (Sandbox Code Playgroud)

为什么岩石只打印一次?不应该打印多次我打印? 了解.感谢所有帮助过的人:)

And*_*per 8

问题是没有大括号{ },循环体只是for语句后面的单行.

所以在这个例子中,行sum=sum+i*i;执行了7次,printf语句在循环结束后输出变量的状态.


Pet*_*ete 5

不.for循环不在括号中,所以它只执行它下面的行.

这将打印括号内的所有内容,但循环运行多次

for (i=1;i<=7;i++)
{
    sum=sum+i*i;
    printf("Rocky\n");
    printf("i is %d\n", i);
    printf("sum is %d\n",sum);
}
Run Code Online (Sandbox Code Playgroud)