关于VB中Print函数在数组中换行的理解

关于VB中Print函数在数组中换行的理解
大家书上肯定看过这个程序:
Dim a(5,5)
For i = 0 to 5
 For j = 0 to 5
 a(i,j) = j +1
 Print a(i,j);   ‘这个是用蓝色标记的
 Next j
 Print    ’这个是用红色标记的
Next i 
(手机党看不到颜色,可以看注释)
对,结果就是一个6X6的二维表格。但是问题是,用红色标记的print是做什么用的?
书上的解释是,print的作用是换行,可大家知道,print是行元素(就是以输出占一行的),那输出print就是下面这效果了啊
(绿色代表print输出了一行)
图片
可事实上,它却是规中规矩的这样子的:(因为数据比较多,仅输几行演示)
图片
那么,原因是为什么呢?Print作为行元素为什么没占一行呢?
关键就在于用蓝色标记的print上。
大家注意到没有,用蓝色标记的print有分号。也就是说,当上一内容输入完后,光标会定位在上一内容的后面而不会换行(书上对分号的解释就是这样子的),其实,这时相当于print成了块元素,也就是它可以在一行内输出1,2,3,4,5,6一排数字。
当输出完数字6后,因为内循环的语句是
Print a(i,j);  意味着下一元素还是在当前这行输出的,但是内循环已经完全执行了一遍,接下来输出的是外循环的print,所以紧跟在6后面的是一个print(此时print为行元素,如下图)。当开始i = 1(刚开始是i = 0)的内循环时,因为上一个print是行元素,所以下一次输出的a(i,j)就换行了。这就是为什么书上说外循环的print是换行作用。
图片

 
希望我解释清楚了o(╯□╰)o
posted @ 2013-12-11 18:44  糖炒栗子OL  阅读(2989)  评论(0编辑  收藏  举报