关于C语言for循环的问题
图一的程序为什么i输出为5,我算出来等于6。我尝试输出每个循环后的i和b的值(图二),结果为(图三)。...
图一的程序为什么i输出为5,我算出来等于6。我尝试输出每个循环后的i和b的值(图二),结果为(图三)。
展开
2个回答
展开全部
循环5次,i自加5次,那可不是5嘛~
10>5 -> i++(i =1) -> ++b(b =6)
10>6 -> i++(i =2) -> ++b(b =7)
10>7 -> i++(i =3) -> ++b(b =8)
10>8 -> i++(i =4) -> ++b(b =9)
10>9 -> i++(i =5) -> ++b(b =10)
10 >10不成立,退出循环。
10>5 -> i++(i =1) -> ++b(b =6)
10>6 -> i++(i =2) -> ++b(b =7)
10>7 -> i++(i =3) -> ++b(b =8)
10>8 -> i++(i =4) -> ++b(b =9)
10>9 -> i++(i =5) -> ++b(b =10)
10 >10不成立,退出循环。
更多追问追答
追问
当第一次循环结束i=1,b=5呀,那第二次循环时不还是先判断10>5吗,判断完之后才b++,b=6呢,这样对吗?
追答
不对呀,兄dei。
是先判断10>5,然后进入循环体,执行结束后执行++b. 执行完++b之后才会进入下一次循环。
for(expression 1; expression 2; expression 3)
{
expression 4;
}
执行顺序是:
1.执行expression 1。此处一般都是初始化,比如你的代码可以写成for(a=10,b=5,i=0;a>b;++b)。
2.执行expression 2.如果执行结果为假,则跳出循环。如果为真,继续执行第3步。
3.如果第2步结果为真,执行expression 4后执行expression 3,然后再跳回第2步。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询