第一次i=10输出10,然后i=11,i=5,第二次输出5,然后6,3,第三次输出3,然后4,2,第四次输出2,然后3 1,退出循环
所以10 5 3 2
1.一开始i为10,10/2=5=i,然后i加1变为6,再除以2等于3,然后i再加1变为4再除以2得2
2.第三个是i从1到9的循环,其余都是0到9
for循环语句的问题?
第一个图,for(int i=10;i>1;i/=2) print("%d",i++);
过程看表格就行:
循环时i | 判断i>1? | 打印的i | i++之后 | i/=2之后 |
---|---|---|---|---|
10 | T | 10 | 11 | 5 |
5 | T | 5 | 6 | 3 |
3 | T | 3 | 4 | 2 |
2 | T | 2 | 3 | 1 |
1 | F | - | - | - |
——————————
第二题的话,主要C循环的时候应该i第一次就会变成=1开始了,和其他几个不等价。
但是吧,考题是这样,正常写程序时候没必要这样绕自己。。。