以下代码段的输出是什么?
for ( int i=10; i> 1; i /=2 ) { printf("%d ", i++);}
答案 10 5 3 2
解析: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
以下代码段的输出是什么?
for ( int i=10; i> 1; i /=2 ) { printf("%d ", i++);}
答案 10 5 3 2
解析: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