1樓:雨霧丶
初始化時,a的值為空串
因為對於第一次迴圈時候,a有個初值為'#',他被輸出而注意看到a=a&"#" 而不是 a="#"
因此每次迴圈時字串a後會被新增乙個#,那第二次就變成"##"第三次當然就是"###"
這樣就可以實現這樣的輸出效果。
2樓:神木月櫻
關鍵在於這句:a=a&"#"
在迴圈第一次時,a的值為空,那麼a=a&"#",就是 a=空,再連線了乙個「#」,那麼a其實就是乙個「#」;當迴圈到第二次時,a=a&"#",就應該是本來已經有乙個「#」了,再連線乙個「#」,那a就是兩個「#」了,後面的就以此類推了,每迴圈一次,都會加上乙個「#」……
3樓:匿名使用者
<%for i=0 to 10
a=a&"#"
response.write(a&"
")next
%>for i=0 to 10 就是相當於 for i=0 to 10 step 1
step 1 就是每迴圈一輪就把i加1,for i=0 to 10 的迴圈是從i等於0,1,2,3一直到i=10
如果是step 2則迴圈的是i=0,2,4,6,8,10了
step -1就是遞減
沒有寫step就是預設為1,就是你寫的那樣
最初時你對a沒進行賦值則a為空,即a=""。 迴圈第一輪時就i=0,則a=a&"#"就是為a=""&"#"所以第一次迴圈a="#",response.write(a&"
")輸出a的值並換行,所以迴圈第二次時輸出就是在第二行了;迴圈第二輪時就i=1,為因第一次迴圈對進行了賦值a=「#」了,所以在第二次迴圈時a=a&"#"就是a="#"&"#"此時a的值就是a="##"了,然後輸出a的值並換行,所以為##,第三次迴圈輸出就是"###",以此類推每迴圈一次輸出就多乙個#,最終就是你看到那個效果了
4樓:蔚藍天空美
第一次迴圈時 a="", a=""&"#" 輸出乙個 # 並換行
第二次迴圈時 a="#" ,a="#"&"#" 輸出兩個 # 並換行
以此類推。。。
asp中如何實現for迴圈?
5樓:匿名使用者
可以加for迴圈的,雙重迴圈就是for迴圈巢狀asp中for迴圈的語法是
for(初始值;終止條件;變化)
迴圈體。。。
next
例如a=0
for(i=0;i>100;i++)
a=a+i
next
6樓:匿名使用者
這問題問的。。。
乙個例項
<%for i = 1 to 5
a=a+i
next
response.write(a)'看看輸出多少%>
再乙個例項
<%for i = 1 to 5 step 2a=a+i
next
response.write(a)'看看輸出多少%>
7樓:書飛揚閱讀網
for i=0 to 9
......'這裡是迴圈內容
next
8樓:匿名使用者
for i=1 to 100 step 1 '(預設是1)
response.write i&"
" '你的語句
next
9樓:匿名使用者
dim i
for i=0 to 100
response.write "i=" & inext
10樓:匿名使用者
for i = 1 to 0
next
asp中的for迴圈問題???
11樓:
huizong=huizong+a&i錯誤你的a1,a2,a3是乙個變數名,變數名是不能用變數+變數的形式得到的,你這樣只能得到a和i的值的字元累加,在這個程式裡,你沒有給變數a賦值 那麼 huizong+a&i實際上相當於 huizong+"0"&i,得到的結果應該是:0102030405。
如果此處你想要以迴圈的方式得到總和,建議將a1,a2,a3轉換成陣列,給你個例子
<%dim a(5)
a(1)=5
a(2)=10
a(3)=66
for i=1 to 5
huizong=huizong+a(i)
next %>
12樓:匿名使用者
huizong=huizong+a&i
改成eval("huizong=huizong+a"&i)
13樓:匿名使用者
<%dim a(10)
a(1)=5
a(2)=10
a(3)=66
huizong=0
for i=1 to 3
huizong =huizong+a(i)next%>
總和等於:<%=huizong%>
這樣才對
14樓:
你的**最終結果是很奇怪的 "012345"
問題所在
你的語句 huizong=huizong+a&i 中的a&i 那是乙個字串表示式,是把當前a的值和當前i的值最為字串聯接起來,所得的結果就是乙個字串,因為沒有變數a,所以a為空,a&i聯接的結果就是:"1","2","3"等,而這些字串不可能代表變數a1,a2,a3等。
而對於huizong=huizong+a&i 中的 + 由於是和字串相加,所以被處理成字串聯接,而不是數字相加,按前面所說結果應該是"12345"而不是"012345"。 那這又是為什麼呢?實際上如果你用的**是huizong=huizong&a&i,這個結果就會是"12345"。
原來由於在表示式huizong=huizong+a&i中,vbs解釋程式先碰到了huizong+ ,於是她預設huizhong是乙個數值資料,所以在這裡已經把huizhong的初值被設為0了,但後來碰到了字串表示式a&i,才把+作為字串鏈結來處理,於是前面就多了huizhong的初值0,從而得到"012345"
解決方法上面都提到了,不再重複
asp中for迴圈問題 5
15樓:夜半凍檸樂
dim i,x
for i = 0 to 9
if i < 5 then
x="b"
else
x="a"
end if
response.write x&i
response.write ("
")next
應該沒錯了
16樓:
你最好用陣列,而不是用這種變數的方式生成
dim xx(10)
for i=0 to 9
if i<5 then
xx(i)="b"
else
xx(i)="a"
end if
輸入的時候就是 xx(0) xx(1) xx(2)……以上程式未經測試,原理相通。
17樓:匿名使用者
使用eval函式或是execute語句.如i < 5 then
execute "x" & i & "=""b"""
else
execute "x" & i & "=""a"""
end if
asp的for迴圈顯示問題
18樓:匿名使用者
不是的。其實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&">>>
") ,你會發現列印出的是100.
這兒for有個步進就是每次迴圈後a加多少的問題,如dim a
for a=1 to 100-1 step 10response.write(a&"
") next
%>它就會每迴圈次a+10,列印如下
1 11
21 31
41 51
61 71
81 91
19樓:陽光上的橋
你怎麼不把兩個程式合起來看呢,你在你的第乙個程式的next之後輸出a,你會發現結果也是100。
for迴圈就是這樣的,需迴圈體裡面最大值是迴圈的終止,迴圈結束後迴圈控制變數為終止的下乙個值。
20樓:q秋去冬來
這個呀a=99仍然符合迴圈條件
a=100時,a>99 跳出迴圈
21樓:匿名使用者
呵呵,這是乙個for與next組成迴圈的常識,1. 因為第乙個構成了迴圈語句,所以在a從1到99時都在迴圈輸出,a在執行到99時是最後一句,故最後輸出為99,而next過後,a為100超出for的範圍,故而不繼續執行,也就輸出不了了
2.第二個則構成乙個空迴圈,沒有值輸出,只有最後乙個語句列印出a的值,在迴圈到a=99時,空迴圈完成,這時next語句把a變成了100,終於跳出迴圈,這時輪到輸出語句,只輸出乙個100,即當前a的值
22樓:匿名使用者
當然 注意你的 next 位置 第一次的next 因為已經輸出 再next已經沒有用了
ASP中如何驗證密碼呢
你在使用者最開始登陸的時候加如 session uerspwd request.form 密碼項名 在刪除頁的最頂端的時候 加入 if request.form 刪除頁面項名 session uerspwd then response.write 你輸入的密碼和你登陸時輸入的密碼不一樣 respon...
求ASP中的替換函式,asp批量替換函式
老刀正能量 dim str str replace string,chr 34 quot str replace str,chr 38 amp str replace str,chr 39 39 str replace str,str replace str,gt str replace str,c...
如何在ASP中記錄使用者訪問網頁時間
在開啟第乙個頁面時做乙個session,做為訪問者的唯一識別,記錄時間,如果這個訪問者沒有跳出你的 而是進入第二個頁面,那第二個頁面判斷session得出訪問者從 來,來的時間,這樣就可以得出訪問第乙個頁面的時間。原理大概是這樣,但是就不建議自己再做這樣的功能了,有很多現成的統計或者一些外掛程式。更...