为什么C语言程序题的答案是这样的?

这个问题的输出是“# &;\n\n* "而不是" # &;*"。它的执行数是I开头等于1,所以i%5等于1,所以输出case1的子句中的内容,也就是字符#,然后I加2。过程如上,这次输出的是字符&;之后我被加到了3和4,defult子句的内容执行了两次,也就是两个换行符\ n最后我等于5,执行了case0子句的内容,输出了字符*。之后I的值增加到6,由于不满足循环条件,for循环退出。