vb点虐 循环嵌套结构 vb for循环嵌套
vb点虐 中嵌套结构体传值复制的问题
因为数组是引用类型,所以直接赋值会出现这种情况
成都创新互联自2013年起,先为克什克腾等服务建站,克什克腾等地企业,进行企业商务咨询服务。为克什克腾企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
可以在kb=k后单独复制数组
kb.rr=k.rr.Clone
这样两个数组就是独立的了
之所以先kb=k是为了当其含有多个成员时值型成员可以直接复制,只需Clone引用类型的就行了
vb点虐 循环结构嵌套
Public Class Form1
For i = 1 To 9
For j = 1 To 9
If j = i Then
Label1.Text = Label1.Text " " i "*" j "=" IIf(i * j 9, i * j, i * j " ")
End If
Next
Label1.Text = Label1.Text vbCrLf
Next
End Sub
End Class
label属性设置:AutoSize设置为F,Size设置为440,190,BACKCOLOR设置为WHITE
谁能来帮我解释下VB的这个FOR循环嵌套?
循环必备知识点:
1.每个循环嵌套都分为内循环和外循环,并且可以镶嵌再镶嵌。
2.总循环次数=内循环×外循环
例如:
For a = 1 To 10
For b = 1 To 4
Print b;
Next b
Next a
总循环数:4×10=40
3.外循环都是要等内循环走完一圈才开始走。
你的代码中内循环b受到外循环a的影响,a的增大使得内循环增大!
第1圈:b=a=1 输出b 1 因此第1排为 1
第2圈:a=2 输出b 12 因此第2排为 12
第3圈:a=3 输出b 123 因此第3排为 123
第4圈:a=4 输出b 1234 因此第4排为 1234
。。。。。。
最后a=10 输出b 12345678910 因此第4排为 12345678910
第一次当然是1啦,因为第一次时b=a=1,循环是从内循环开始的,上面写得很清楚了,你自己可以用调试功能中的逐语句看一下就知道了!!!!
VB For next 循环嵌套
我来回答吧:
1、VB默认使用变量之前需要先声明(或定义)
那么,你需要在
a=""
之前添加代码:
dim a as string
即可;
2、这个问题其实没什么好解释的,你判断错了,多积累经验就行了。
判断一个数是不是素数,只需要验证它不能整除全部的从2到int(sqrt(n))的数即可,这一点你没有错。
在程序中,下面这一段不对的。
“ 当n=9时,s=0;子循环“For i=2 To Int(Sqr(n))”的循环变量i取值范围为i=2 To 3;当i=2时,n Mod i =9 Mod 2 =1,然后执行Exit For 跳出子循环。
”
n Mod i = 9 Mod 2 =1
不满足if语句的条件 if(n Mod i)= 0
就直接跳过if语句体,执行
End if
是不会执行到Exit for的。这个步骤没有问题。
再来回答:如果不要 Exit For语句,是不是也能达到目的?
答案:可以的,但是这样慢。因为一旦我们判断出了一个数能够被其他数整除,比如64,它需要判断从 2-8的所有数都不能被整除才行。
一旦我判断到4,64 mod 4 =0 ,我就知道它不是素数了。
我就不需要再计算下去,所有exit for,就节省了运算时间。这在大两数据的计算中很明显的。
3、这两个表达都是符合语法的,但是作用不同。
if...then...这种结构,如果if语句成立,只会执行then后面这一行的命令,比如这个:
If n Mod i=0 Then s=1
Exit For
这种写法,相当于
06 If n Mod i=0 Then
07 s=1
08 End If
09 Exit For
而if
then
end if
如果if语句成立,就会处理then到end if之间的所有语句。
解释完毕。
——————————
汗,用惯VB.NET了。
VB确实是默认不强制声明,但最好用Option Explicit强制要求声明
本文名称:vb点虐 循环嵌套结构 vb for循环嵌套
标题链接:http://cdiso.cn/article/ddjcsgi.html