VB循环题目x=6for k=1 to 10 step-2x=x+knext kprint k;x为什么不是-1,不是先

问题描述:

VB循环题目
x=6
for k=1 to 10 step-2
x=x+k
next k
print k;x
为什么不是-1,不是先从K=1开始吗?先6+1啊
1个回答 分类:数学 2014-09-24

问题解答:

我来补答
答案是 1 6
因为是 step -2 ,所以要求 k 的初值大于 终值,不满足要求根本就没有循环.
再问: 一开始不是K=1满足了吗然后X+1啊,然后再K=-2不满足啊,退出循环啊?怎么不对啊?你讲的太深奥请通俗点,详细点
再答: 步长值是负的,即 k 会越来越小,所以要求 k 的一开始的值要大于最后的值才能够成循环进行的条件,而 k= 1 to 10 不满足这个条件,所以循环根本就不会进行,自然也就不会有 x=x+k 的执行。
再问: 一开始不是K=1满足了吗?
再答: k=1 又不是条件,那只是初始化步骤而已,if 的条件是: 如果 step 为正,则初值小于等于终值的前提下,如果 k 增加步长值之后仍然小于等于终值,这才符合条件,执行循环体,如果 step 为负,则在初值大于等于终值的前提下,减去步长值仍然大于等于终值,才算符合条件执行循环体。 仔细阅读课本 if 关键字部分。
 
 
展开全文阅读
剩余:2000
上一页:第九题,详解
下一页:gyyv
也许感兴趣的知识