以下代码段的输出是什么? for ( int i=10; i> 1; i /=2 ) { printf("%d ", i++); }

如题所述

i=10,输出10,执行i++,i变成11
11/2截取整数部分,是5,输出5,执行i++,i变成6
6/2=3,输出3,执行i++,i变成4
4/2=2,输出2,执行i++,i变成3
3/2截取整数部分,是1,不满足i>1的循环条件,退出循环
因此输出结果是10 5 3 2
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-11-22
for(初始值;条件;++)
其实这道题可以这样理解
for(int i=10(初始值);i>1(条件);(这时该执行printf)i++;(在printf之后在执行)i/=2)可以写成入下
for(i=10;i>1;)
printf(“%d”,i++);
i/=2;之后再回到循环去判断
相似回答