大致流程图画的出来,也理解大致的执行过程,就是a%2这个乱了

#include <stdio.h>
int main()
{
int a=7, i;
for (i=1; i<=3; i++)
{
if(a>14) break;
if (a%2)
{
a+=3;
continue;
}
a = a+4;
printf(" %d,%d,", i,a);
}
printf(" %d,%d" , i,a);}

a%2表示a除以2取余,余数为1表示true,为0表示false
余数为1时执行a+=3,然后跳过当前循环,执行下一次循环,
流程图中就是直接返回指向for循环那里继续执行for循环就可以了

a%2等价于a%2==1
这就涉及到int型和bool型的隐式转换
0对应false,非0对应true

if (a%2)
a为偶数时,a%2为0,判断为假,不执行if里的语句
a为奇数时,a%2为1,判断为真,执行if里的语句

if中非0,是true,等于0false
如果a%2结果非0,那么执行if中的语句,即a+=3;continue;

这个a%2是判断奇偶数的意思,可能是你写错了吧。a%2==0判断偶数,a%2==1判断奇数。

a%2是用a对2取余,返回值是一个int类型值
if条件判断里面的应该是一个bool类型的表达式,所以写法应该是

if (a % 2 == 0) 

否则会报编译错误