初学VB,有一点不明白。
子过程与函数区别在于:
子过程没有返回值,不能参与表达式运算
函数有返回值,能参与表达式运算这样看到,函数功能比子过程强。我觉得完全可以用函数代替子过程啊。为什么还要分这两个?有什么其他的意义吗?

解决方案 »

  1.   

    估计是子程序在调用上要比函数快一些吧.
    记得以前那个apple上的basic里面就是用gosub之类的跳转语句来调用子程序.
    C里面则"统一"了, 只有函数,木有子程序.
      

  2.   

    这个可能是与函数库设计有关。如果每个过程、函数都有返回值,那么每个过程就需要做判断和异常处理,而频繁的判断是影响性能的,所以在最初的基本设计时,void类型的作用在初始设计中应该是优于其他类型的。
      

  3.   


    我认为sub是早期DOS版的Basic遗留的产物
      

  4.   

    vb是这样分的,可能是为了更好理解吧
    c里就不分函数与过程了,只有函数
      

  5.   

    我也觉得只用函数就够了,过程的功能显得很鸡肋.真恨不得把sub Main()写成Function Main()
      

  6.   

    你把sub 理解为 function void 不就行了~
      

  7.   

    VB里的sub跟function本质上是一样的。不过在逻辑上,sub更注重过程而function更注重结果。让我码几行VB~看看我还记不记得?
    sub aaa(byref a as integer,byval b as long
    a=a+b
    end subfunction aaaa(byval a as integer, byval b as integer
    aaaa=a+b
    end function