zoukankan      html  css  js  c++  java
  • 关于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
  • 相关阅读:
    OpenACC 数据管理语句
    OpenACC 简单的直方图
    OpenACC 书上的范例代码(Jacobi 迭代),part 2
    OpenACC 书上的范例代码(Jacobi 迭代),part 1
    OpenACC parallel
    OpenCL 归约 1
    OpenCL 双调排序 GPU 版
    OpenCL 双调排序 CPU 版
    OpenCL 图像卷积 3 使用 CPU
    中括号记法
  • 原文地址:https://www.cnblogs.com/losepure/p/3469903.html
Copyright © 2011-2022 走看看