ASP的for循环显示问题

<%dimafora=1to100-1Response.Write(a&"<br>")next%>这个结果显示的最后a=99<%dimafora=1to100-1next... <%
dim a
for a=1 to 100-1
Response.Write(a&"<br>")
next
%>

这个结果显示的最后a=99

<%
dim a
for a=1 to 100-1
next
Response.Write(a&"<br>")
%>
这个显示的是100,为什么会有2种不同的值?最后的值不都应该是99吗?
展开
 我来答
lifeunique
2008-11-26 · TA获得超过302个赞
知道小有建树答主
回答量:418
采纳率:0%
帮助的人:396万
展开全部
不是的。其实for循环如果不设置它的步进step,那么就是默认的每循环一次就给变量加1。相当于js中 for(i=0; i<=100-1; i++) 。只不过 i++ 没有给出来吧。
比如上面 a=1,那么打印出a的值为1.然后a就加1,和(100-1)比较,如果小于等于(100-1),就继续执行循环体内的代码,这时就打印a的值2,如此继续下去。当在最后,打印完a为99的时候,a在加1,注意这时a的值是100,和(100-1)比较,显然大于(100-1)。所以循环体内的代码不执行。但继续执行循环体 for next后面的代码,这时当然会打印a的值100了。

如将第一个代码最后next后添加 Response.Write(a&">>><br>") ,你会发现打印出的是100.

这儿for有个步进就是每次循环后a加多少的问题,如
dim a
for a=1 to 100-1 step 10
Response.Write(a&"<br>")
next
%>

它就会每循环次a+10,打印如下
1
11
21
31
41
51
61
71
81
91
阳光上的桥
2008-11-26 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65810
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
你怎么不把两个程序合起来看呢,你在你的第一个程序的next之后输出a,你会发现结果也是100。

for循环就是这样的,需循环体里面最大值是循环的终止,循环结束后循环控制变量为终止的下一个值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Q秋去冬来
2008-11-26 · TA获得超过730个赞
知道小有建树答主
回答量:526
采纳率:0%
帮助的人:482万
展开全部
这个呀a=99仍然符合循环条件
a=100时,a>99 跳出循环
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
菅穆歧丹云
2019-05-04 · TA获得超过4030个赞
知道大有可为答主
回答量:3085
采纳率:30%
帮助的人:200万
展开全部
不是的。其实for循环如果不设置它的步进step,那么就是默认的每循环一次就给变量加1。相当于js中
for(i=0;
i<=100-1;
i++)
。只不过
i++
没有给出来吧。
比如上面
a=1,那么打印出a的值为1.然后a就加1,和(100-1)比较,如果小于等于(100-1),就继续执行循环体内的代码,这时就打印a的值2,如此继续下去。当在最后,打印完a为99的时候,a在加1,注意这时a的值是100,和(100-1)比较,显然大于(100-1)。所以循环体内的代码不执行。但继续执行循环体
for
next后面的代码,这时当然会打印a的值100了。
如将第一个代码最后next后添加
Response.Write(a&">>><br>")
,你会发现打印出的是100.
这儿for有个步进就是每次循环后a加多少的问题,如
dim
a
for
a=1
to
100-1
step
10
Response.Write(a&"<br>")
next
%>
它就会每循环次a+10,打印如下
1
11
21
31
41
51
61
71
81
91
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lufengmaster
2008-11-26 · TA获得超过234个赞
知道小有建树答主
回答量:184
采纳率:0%
帮助的人:161万
展开全部
呵呵,这是一个for与next组成循环的常识,

1. 因为第一个构成了循环语句,所以在a从1到99时都在循环输出,
a在执行到99时是最后一句,故最后输出为99,而next过后,a为100超出for的范围,故而不继续执行,也就输出不了了

2.第二个则构成一个空循环,没有值输出,只有最后一个语句打印出a的值,在循环到a=99时,空循环完成,这时next语句把a变成了100,终于跳出循环,这时轮到输出语句,只输出一个100,即当前a的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式