程序运行的详细的解释

clude
int main(void)
{
int i = 0;
while (i < 3)
{
switch (i++)
{
case 0: printf("I came\t\n");
case 1: printf("I saw\t\n");
case 2: printf("I conquered\t\n");
default: printf("!");
}
putchar('\n');
}
printf("Gaius Julius Caesar\t\n");
return 0;
能不能解释一下是怎么运行的?

i++是先赋值后加1,switch中的case块不加break跳出循环,会依次往下执行,直至结束或遇到终止循环的关键字(如break、continue、return)。
第一次循环,switch的i值等于0,依次执行case 0,1,2和default全部的语句,i++后值等于1。
第二次循环,switch的i值等于1,依次执行case 1,2和default语句,i++后值等于2。
第三次循环,switch的i值等于2,依次执行case 2和default语句,i++后值等于3,不满足循环条件,退出while循环。

1、一开始i = 0,之后while循环,i < 3,可以进行循环
switch(i++),因为i=0,所以输出case 0中的值 I came
之后进行i++,i+1 = 1,putchar("\n")输出换行,
2、之后 i < 3,继续进行循环,switch(i++),i = 1
输出case 1中的值 I saw,之后i++,i+1=2,
putchar("\n")输出换行。以此类推,直到i=3 i不再小于3 循环结束
最后输出Gaius Julius Caesar。
如有帮助,还请采纳!