yitui356
yitui356
2017-10-29 05:18
采纳率: 0%
浏览 2.4k

vfp6.0自定义函数和过程的调用

vfp6.0中:
过程的调用格式:do 过程名 with 参数 procedure……endproc
自定义函数:函数名(参数) ……function……endfunc
但是如下程序,也可运行成功,为什么呢?调用格式混在一起了啊
x=0
y=0
x=0
s=p1()
?"s=",s
return
procedure p1
input "x:" to x
input "y:" to y
s=x*y
return s
菜鸟,求大神相助解惑,感激……

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • caozhy

    如果你的代码可以运行,那么应该是vfp没有从语法上禁止procedure返回值。vfp在语法上比较宽松是照顾一些不会写程序的人使用。缺点是编写的代码可读性不好。

    点赞 评论
  • qq_43893223
    毫毛上的毛尖 2019-10-19 20:16

    procedure不是定义过程的吗?可是你的使用方法是函数。应该用function来定义

    点赞 评论
  • weixin_46440727
    --Sun-- 2020-02-29 22:13

    其实你不用纠结这个的。
    你用do 过程名 with 实参 调用和用函数名(实参)调用所得到的结果是一样的。
    而真正要注意的是你所写的子程序,
    如果你用的是procedure来写子程序,末尾要写一句return 返回值
    如果你用的是function来写子程序,末尾一定要写return 返回值

    点赞 评论

相关推荐