能帮我看一下答案怎么来的嘛^_^

#include

int main()
{
for ( int i=10; i> 1; i /=2 ) 
{    
 printf("%d ", i++);
}
}

img

第一次循环i=10,然后输出10之后,i++,此时i=11,然后11/2为5。
则第二次循环,i=5,然后输出5之后,i++,此时i=6,然后6/2为3。
则第三次循环,i=3,然后输出3之后,i++,此时i=4,然后4/2为2。
则第四次循环,i=2,然后输出2,i++,此时i=3,然后3/2为1,即i=1,不满足i>1,循环停止。
所以最终输出10 5 3 2。
有帮助的话采纳一下哦!

今天i 取半后 再加1 直到结束。/取整。i到达2后取半为1 循环退出

10 5 3 2 ,
第一次i 为10,输出i++也就是10 ,i++之后 i=11
第二次,i=11/2 =5,输出5 i++之后i=6
第三次 i=6,i/2=3,输出3 , i++之后i=4
最后一次 i=4,i/2=2;