分类：电脑/网络-软件
问题：请解析一下这个程序PrivateSubCommand1_Clic 
Private Sub ommand1_Click()Dim i As Integer, n As Integer, m As IntegerFor i = 0 To 50  i = i + 3  n = n + 1  Next i Print iEnd Sub输出的是52若这样Private Sub Command1_Click()Dim i As Integer, n As Integer, m As IntegerFor i = 0 To 50  i = i + 3  n = n + 1 Private Sub ommand1_Click()Dim i As Integer, n As Integer, m As IntegerFor i = 0 To 50  i = i + 3  n = n + 1  Next i Print iEnd Sub输出的是52若这样Private Sub Command1_Click()Dim i As Integer, n As Integer, m As IntegerFor i = 0 To 50  i = i + 3  n = n + 1 Print iNext iEnd Sub最后一个是51 请解析 谢谢
回答：关键的就在于打印语句是在循环体里还在循环体外，第一个由于如果步长为1，循环体内和循环体外，i值相差就是1，这是常识，为什么一个最后值是51一个只打出52，这就是因打印语句在循环体内和循环体外的原因，下面具体的分析一下给你听，前面都不管他，从i循环到44说起，当i=44时，经i=i+3后为47，回到循环开始处i被加1变成48，48没有满足循环退出条件，继续循环，又一次执行i=i+3后变成51，这就到了关键时候了，第二个程序，打印语句放在循环体内，所以最后一个就是打印这个51了，但是程序并不是这样就退出循环的，它还要回到循环开始此作一次比较看有没有满足条件，满足了才不循环，没满足还循环，而这一回到循环开始处，i再一次被加1就变成了52，52显然是超出了循环所限定的条件，所以循环结果，执行后面的语句。也就是执行Print i所以第一个程序打印出来的是52