VB do while循环问题
代码:PrivateSubCommand1_Click()DimaAsInteger,bAsIntegerDoPrint"*"b=0a=a+1DoPrint"#"b=b+...
代码:
Private Sub Command1_Click()
Dim a As Integer, b As Integer
Do
Print "*"
b = 0
a = a + 1
Do
Print "#"
b = b + 1
Loop While b <= 1
Loop While a <= 2
End Sub
为什么b要设定初值,而a不用呢?
另外,是不是a循环一次,b就要循环两次?如果再加一层的话,又是怎样算呢?求解 展开
Private Sub Command1_Click()
Dim a As Integer, b As Integer
Do
Print "*"
b = 0
a = a + 1
Do
Print "#"
b = b + 1
Loop While b <= 1
Loop While a <= 2
End Sub
为什么b要设定初值,而a不用呢?
另外,是不是a循环一次,b就要循环两次?如果再加一层的话,又是怎样算呢?求解 展开
3个回答
展开全部
a可能也要的,丢了, 加到一起 b=0:a=0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a, b 声明为 Integer 后初值就是 0
b = 0 的意义不是设定,而是重置
首先 外循环
Do
b = 0
a = a + 1
...
Loop While a <= 2
由于 a 是 Integer 型,初值为 0,Loop While a <= 2,说明 a = 0, 1, 2 外循环循环三次后结束
再看 内循环
Do
b = b + 1
Loop While b <= 1
由于在第一次外循环中 b=0,第一次内循环 Loop While b <= 1,说明 b = 0, 1 内循环循环两次后结束,很显然,a 循环一次,b 就要循环两次。
但若 b 不重置为 0 的话,在第二次外循环开始,b >= 1 内循环 Loop While b <= 1 就只会循环一次就结束。即 在第二次外循环开始, a 循环一次,b 就循环一次。
b = 0 的意义不是设定,而是重置
首先 外循环
Do
b = 0
a = a + 1
...
Loop While a <= 2
由于 a 是 Integer 型,初值为 0,Loop While a <= 2,说明 a = 0, 1, 2 外循环循环三次后结束
再看 内循环
Do
b = b + 1
Loop While b <= 1
由于在第一次外循环中 b=0,第一次内循环 Loop While b <= 1,说明 b = 0, 1 内循环循环两次后结束,很显然,a 循环一次,b 就要循环两次。
但若 b 不重置为 0 的话,在第二次外循环开始,b >= 1 内循环 Loop While b <= 1 就只会循环一次就结束。即 在第二次外循环开始, a 循环一次,b 就循环一次。
追问
我又在原基础上加了一层:
Dim a As Integer, b As Integer, c As Integer
Do
Print "*"
b = 0
a = a + 1
Do
Print "#"
c = 0
b = b + 1
Do
Print "&"
c = c + 1
Loop While c < 1
Loop While b <= 1
Loop While a <= 2
结果是
* # & # & * # & # & * # & # &
正确吗?a循环1次,b循环两次。b循环一次,c循环一次。a循环了三次。c该设定吗?放b循环体对吗
追答
你的分析和结果都正确。算是理解了。c 放b循环体是对的,如果 b循环一次,c循环一次 c 不设定也可以,但 如果 b循环一次,c循环 >1 次,c 必须在 b 循环的开始置 0,即 c= 0。
不过要注意活用,具体问题具体分析,如果要输出 * # & # & * # & # & * # & # & 以上代码可精简为:
Dim a As Integer, b As Integer
Do
Print "*"
b = 0
a = a + 1
Do
Print "#"
Print "&"
b = b + 1
Loop While b <= 1
Loop While a <= 2
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询