这个代码不知道里面是什么意思

这个代码看不懂,而且为什么最后输出结果是x=4?
for(i=0,x=0;i<2;i++);
{ x++;
for(j=0;j<3;j++)
{ if(j%2) continue;
x++;
}
x++;
}
printf("x=%d\n",x);

for(i=0,x=0;i<2;i++);
这里有个分号
所以后面的大括号只是个块,它并不在循环里,而后面又没有用到i,所以可以认为前面的for没有任何作用
x的初值是0,那要看最终x是几,就看x++执行了几次呗
一共出现了3个x++,其中2个是直接执行的,1个在循环里,而循环里如果j==2就跳过了,所以循环虽然执行了3次但是其实只有2次执行x++
所以x++一共执行4次

i在第一次进入第一个for的时候就直接是2了...