为啥输出的结果为85,42?并解释一下如何看这个编程?

#include<stdio.h>
void main()
{ int x=8;
for( ;x>0;x--)
{if(x%3)
{printf("%d",x--);
continue;
}
printf("%d,",--x);
}
}
为啥输出的结果为85,42?并解释一下如何看这个编程?

if(x%3)当x除以3的余数不为0时,先打印x,然后x--,然后再执行for循环的x--
最后的printf("%d,",--x);先执行--x,在打印x的值