#include
int main()
{
int j = 0;
for(int i = 0;i<=30;i++)
{
j += i;
if( i%2==0 && i%3 == 0)
{
printf("%d\n",j);
j = 0;
}
while(j)
{
printf("hello\n");
break;
}
}
return 0;
}
序数不代表每条语句执行顺序,表示大致流程
首先放到代码块里看得更清晰一点
#include <stdio.h>
int main() {
int j = 0;
for (int i = 0; i <= 30; i++)
{
j += i;
if (i % 2 == 0 && i % 3 == 0)
{
printf("%d\n", j);
j = 0;
}
while (j)
{
printf("hello\n");
break;
}
}
return 0;
}
for循环是从0到30对i进行一个遍历,j存储的是i当前值对应的数列之和
if语句中判断i当前值是否同时对2和3取余所得值为0(也就是 是否为6的倍数)
如果为真,则输出j当前值,并将j置为0;
如果为假,则继续进行累加。
while语句判断当前j值是否为0,如果为0(if中判断为真)则不执行语句,继续循环。
如果不为0则执行输出hello语句,随后break跳出。
需要注意的是每次i找到6的倍数并输出j后,j会置为0