为什么10还能输出啊?i初始值是10满足了大于1的条件,不应该除以二吗,也就是说第一个输出值不应该是5吗?还有答案的3和2怎么来的 ?求解答!

为什么10还能输出啊?i初始值是10满足了大于1的条件,不应该除以二吗,也就是说第一个输出值不应该是5吗?还有答案的3和2怎么来的 ?求解答!

第一次执行顺序:i = 10 ,i > 1 , printf("%d", i++) 这句输出 10 ,i ++ = 11 , i /= 2, 11 /= 2 得到 5.
第二次执行顺序:i = 5 > 1 , printf("%d", i++) 输出 5 ,i ++ = 6 , i /= 2 = 3.
第三次执行顺序:i = 3 > 1, printf("%d", i++) 输出 3 ,i ++ = 4, i /= 2 = 2.
第四次执行顺序:i = 2 > 1,printf("%d", i++) 输出 2 , i++ = 3, i /= 2 = 1.
第五次执行顺序:i = 1 > 1 条件不满足,退出循环。