C语言 题目: int i=7; do{ printf("%d",i=i-2); }while(i++); 请问循环了几次,怎么循环的,谢谢

如题所述

int i=7;
do{
printf("%d",i=i-2);
}
while(i++);
第1次:
先做do循环内的printf语句,i=i-2=7-2=5,打印出5.
然后做while(i++); 先判断 i 此时是否等于0,此时i为5不等于0。然后i加1,i变为6。
第2次:
prinft语句,i=i-2=6-2=4,打印出4.
while(i++)语句。此时i为4不等于0,循环继续,然后i加1变为5.
第3次:
i=i-2=5-2=3,打印出3
此时i为3不等于0,循环继续,然后i加1变为4
第4次:
i=i-2=4-2=2,打印出2
此时i为2不等于0,循环继续,然后i加1变为3
第5次:
i=i-2=3-2=1,打印出1
此时i为1不等于0,循环继续,然后i加1变为2
第6次:
i=i-2=2-2=0,打印出0
此时i为0,循环停止。然后i加1变为1.程序结束。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-08-11
6次,进入do{}while语句后先执行{}内的内容,然后进行while的判断,如果while内的内容为真 则再循环,直到 i=0的时候 。while中是i++,而不是++i,当i = 0的时候先进行判断,while已经不成立,然后再+1
第2个回答  2011-08-11
循环6次
结果如下
5------------------(i=6)
4------------------(i=5)
3------------------(i=4)
2------------------(i=3)
1------------------(i=2)
0------------------(i=1)此时不进行下一次输出,因为在本语句内i的值还是0,当下次调用i值时才为1
第3个回答  2011-08-11
循环 i i++
1 5 5
2 4 4
3 3 3
4 2 2
5 1 1
6 0 0
结束。
第4个回答  2011-08-11
三楼正确,其他的没看。
相似回答